os: networkInterfaces include scopeid for ipv6

pull/35604/head
Xidorn Quan 2014-02-18 10:10:30 -08:00 committed by Timothy J Fontaine
parent 937e2e351b
commit ae02992872
1 changed files with 7 additions and 0 deletions

View File

@ -50,6 +50,7 @@ using v8::Context;
using v8::FunctionCallbackInfo;
using v8::Handle;
using v8::HandleScope;
using v8::Integer;
using v8::Local;
using v8::Number;
using v8::Object;
@ -272,6 +273,12 @@ static void GetInterfaceAddresses(const FunctionCallbackInfo<Value>& args) {
o->Set(FIXED_ONE_BYTE_STRING(node_isolate, "mac"),
FIXED_ONE_BYTE_STRING(node_isolate, mac));
if (interfaces[i].address.address4.sin_family == AF_INET6) {
uint32_t scopeid = interfaces[i].address.address6.sin6_scope_id;
o->Set(FIXED_ONE_BYTE_STRING(node_isolate, "scopeid"),
Integer::NewFromUnsigned(scopeid));
}
const bool internal = interfaces[i].is_internal;
o->Set(FIXED_ONE_BYTE_STRING(node_isolate, "internal"),
internal ? True(node_isolate) : False(node_isolate));