# # Author:: Alan Harper # Copyright:: Copyright (c) 2012-2016 Chef Software, Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # require File.expand_path(File.dirname(__FILE__) + "/../../../spec_helper.rb") describe Ohai::System, "Darwin Network Plugin" do before(:each) do @darwin_ifconfig = <<-DARWIN_IFCONFIG lo0: flags=8049 mtu 16384 options=3 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fd54:185f:37df:cad2:ba8d:12ff:fe3a:32de prefixlen 128 gif0: flags=8010 mtu 1280 stf0: flags=0<> mtu 1280 en1: flags=8863 mtu 1500 ether b8:8d:12:3a:32:de inet6 fe80::ba8d:12ff:fe3a:32de%en1 prefixlen 64 scopeid 0x4 inet 10.20.10.144 netmask 0xffffff00 broadcast 10.20.10.255 inet6 2001:44b8:4186:1100:ba8d:12ff:fe3a:32de prefixlen 64 autoconf inet6 2001:44b8:4186:1100:7dba:7a60:97a:e14a prefixlen 64 autoconf temporary media: autoselect status: active p2p0: flags=8843 mtu 2304 ether 0a:8d:12:3a:32:de media: autoselect status: inactive en0: flags=8863 mtu 1500 options=2b ether 3c:07:54:4e:0e:35 media: autoselect (none) status: inactive fw0: flags=8822 mtu 4078 lladdr a4:b1:97:ff:fe:b9:3a:d4 media: autoselect status: inactive utun0: flags=8051 mtu 1380 inet6 fe80::ba8d:12ff:fe3a:32de%utun0 prefixlen 64 scopeid 0x8 inet6 fd00:6587:52d7:c87:ba8d:12ff:fe3a:32de prefixlen 64 DARWIN_IFCONFIG @darwin_arp = <<-DARWIN_ARP ? (10.20.10.1) at 0:4:ed:de:41:bf on en1 ifscope [ethernet] ? (10.20.10.2) at 0:1e:c9:55:7e:ee on en1 ifscope [ethernet] ? (10.20.10.6) at 34:15:9e:18:a1:20 on en1 ifscope [ethernet] ? (10.20.10.57) at cc:8:e0:e0:8a:2 on en1 ifscope [ethernet] ? (10.20.10.61) at 28:37:37:12:5:77 on en1 ifscope [ethernet] ? (10.20.10.73) at e0:f8:47:8:86:2 on en1 ifscope [ethernet] ? (10.20.10.130) at 68:a8:6d:da:2b:24 on en1 ifscope [ethernet] ? (10.20.10.138) at 8:0:37:8c:d2:23 on en1 ifscope [ethernet] ? (10.20.10.141) at b8:8d:12:28:c5:90 on en1 ifscope [ethernet] ? (10.20.10.166) at 0:1b:63:a0:1:3a on en1 ifscope [ethernet] ? (10.20.10.174) at 98:d6:bb:bd:37:ad on en1 ifscope [ethernet] ? (10.20.10.178) at 24:ab:81:2d:a3:c5 on en1 ifscope [ethernet] ? (10.20.10.181) at 78:a3:e4:e4:16:32 on en1 ifscope [ethernet] ? (10.20.10.185) at 0:26:8:9a:e8:a3 on en1 ifscope [ethernet] ? (10.20.10.200) at b8:8d:12:55:7f:7f on en1 ifscope [ethernet] ? (10.20.10.255) at ff:ff:ff:ff:ff:ff on en1 ifscope [ethernet] DARWIN_ARP @darwin_route = <<-DARWIN_ROUTE route to: default destination: default mask: default gateway: 10.20.10.1 interface: en1 flags: recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire 0 0 0 0 0 0 1500 0 DARWIN_ROUTE @darwin_netstat = <<-DARWIN_NETSTAT Name Mtu Network Address Ipkts Ierrs Ibytes Opkts Oerrs Obytes Coll Drop lo0 16384 174982 0 25774844 174982 0 25774844 0 lo0 16384 fe80::1%lo0 fe80:1::1 174982 - 25774844 174982 - 25774844 - - lo0 16384 127 127.0.0.1 174982 - 25774844 174982 - 25774844 - - lo0 16384 ::1/128 ::1 174982 - 25774844 174982 - 25774844 - - lo0 16384 fd54:185f:3 fd54:185f:37df:ca 174982 - 25774844 174982 - 25774844 - - gif0* 1280 0 0 0 0 0 0 0 stf0* 1280 0 0 0 0 0 0 0 en1 1500 b8:8d:12:3a:32:de 5921903 0 2530556736 14314573 0 18228234970 0 en1 1500 fe80::ba8d: fe80:4::ba8d:12ff 5921903 - 2530556736 14314573 - 18228234970 - - en1 1500 10.20.10/24 10.20.10.144 5921903 - 2530556736 14314573 - 18228234970 - - en1 1500 2001:44b8:4 2001:44b8:4186:11 5921903 - 2530556736 14314573 - 18228234970 - - en1 1500 2001:44b8:4 2001:44b8:4186:11 5921903 - 2530556736 14314573 - 18228234970 - - p2p0 2304 0a:8d:12:3a:32:de 0 0 0 0 0 0 0 en0 1500 3c:07:54:4e:0e:35 0 0 0 0 0 2394 0 fw0* 4078 a4:b1:97:ff:fe:b9:3a:d4 0 0 0 0 0 1038 0 utun0 1380 5 0 324 13 0 740 0 utun0 1380 fe80::ba8d: fe80:8::ba8d:12ff 5 - 324 13 - 740 - - utun0 1380 fd00:6587:5 fd00:6587:52d7:c8 5 - 324 13 - 740 - - DARWIN_NETSTAT @darwin_sysctl = <<-DARWIN_SYSCTL net.local.stream.sendspace: 8192 net.local.stream.recvspace: 8192 net.local.stream.tracemdns: 0 net.local.dgram.maxdgram: 2048 net.local.dgram.recvspace: 4096 net.local.inflight: 0 net.inet.ip.portrange.lowfirst: 1023 net.inet.ip.portrange.lowlast: 600 net.inet.ip.portrange.first: 49152 net.inet.ip.portrange.last: 65535 net.inet.ip.portrange.hifirst: 49152 net.inet.ip.portrange.hilast: 65535 net.inet.ip.forwarding: 1 net.inet.ip.redirect: 1 net.inet.ip.ttl: 64 net.inet.ip.rtexpire: 12 net.inet.ip.rtminexpire: 10 net.inet.ip.rtmaxcache: 128 net.inet.ip.sourceroute: 0 net.inet.ip.intr_queue_maxlen: 50 net.inet.ip.intr_queue_drops: 0 net.inet.ip.accept_sourceroute: 0 net.inet.ip.keepfaith: 0 net.inet.ip.gifttl: 30 net.inet.ip.subnets_are_local: 0 net.inet.ip.mcast.maxgrpsrc: 512 net.inet.ip.mcast.maxsocksrc: 128 net.inet.ip.mcast.loop: 1 net.inet.ip.check_route_selfref: 1 net.inet.ip.use_route_genid: 1 net.inet.ip.dummynet.hash_size: 64 net.inet.ip.dummynet.curr_time: 0 net.inet.ip.dummynet.ready_heap: 0 net.inet.ip.dummynet.extract_heap: 0 net.inet.ip.dummynet.searches: 0 net.inet.ip.dummynet.search_steps: 0 net.inet.ip.dummynet.expire: 1 net.inet.ip.dummynet.max_chain_len: 16 net.inet.ip.dummynet.red_lookup_depth: 256 net.inet.ip.dummynet.red_avg_pkt_size: 512 net.inet.ip.dummynet.red_max_pkt_size: 1500 net.inet.ip.dummynet.debug: 0 net.inet.ip.fw.enable: 1 net.inet.ip.fw.autoinc_step: 100 net.inet.ip.fw.one_pass: 0 net.inet.ip.fw.debug: 0 net.inet.ip.fw.verbose: 0 net.inet.ip.fw.verbose_limit: 0 net.inet.ip.fw.dyn_buckets: 256 net.inet.ip.fw.curr_dyn_buckets: 256 net.inet.ip.fw.dyn_count: 0 net.inet.ip.fw.dyn_max: 4096 net.inet.ip.fw.static_count: 2 net.inet.ip.fw.dyn_ack_lifetime: 300 net.inet.ip.fw.dyn_syn_lifetime: 20 net.inet.ip.fw.dyn_fin_lifetime: 1 net.inet.ip.fw.dyn_rst_lifetime: 1 net.inet.ip.fw.dyn_udp_lifetime: 10 net.inet.ip.fw.dyn_short_lifetime: 5 net.inet.ip.fw.dyn_keepalive: 1 net.inet.ip.maxfragpackets: 1536 net.inet.ip.maxfragsperpacket: 128 net.inet.ip.maxfrags: 3072 net.inet.ip.scopedroute: 1 net.inet.ip.check_interface: 0 net.inet.ip.linklocal.in.allowbadttl: 1 net.inet.ip.random_id: 1 net.inet.ip.maxchainsent: 0 net.inet.ip.select_srcif_debug: 0 net.inet.icmp.maskrepl: 0 net.inet.icmp.icmplim: 250 net.inet.icmp.timestamp: 0 net.inet.icmp.drop_redirect: 0 net.inet.icmp.log_redirect: 0 net.inet.icmp.bmcastecho: 1 net.inet.igmp.recvifkludge: 1 net.inet.igmp.sendra: 1 net.inet.igmp.sendlocal: 1 net.inet.igmp.v1enable: 1 net.inet.igmp.v2enable: 1 net.inet.igmp.legacysupp: 0 net.inet.igmp.default_version: 3 net.inet.igmp.gsrdelay: 10 net.inet.igmp.debug: 0 net.inet.tcp.rfc1323: 1 net.inet.tcp.rfc1644: 0 net.inet.tcp.mssdflt: 512 net.inet.tcp.keepidle: 7200000 net.inet.tcp.keepintvl: 75000 net.inet.tcp.sendspace: 65536 net.inet.tcp.recvspace: 65536 net.inet.tcp.keepinit: 75000 net.inet.tcp.v6mssdflt: 1024 net.inet.tcp.log_in_vain: 0 net.inet.tcp.blackhole: 0 net.inet.tcp.delayed_ack: 3 net.inet.tcp.tcp_lq_overflow: 1 net.inet.tcp.recvbg: 0 net.inet.tcp.drop_synfin: 1 net.inet.tcp.reass.maxsegments: 3072 net.inet.tcp.reass.cursegments: 0 net.inet.tcp.reass.overflows: 0 net.inet.tcp.slowlink_wsize: 8192 net.inet.tcp.maxseg_unacked: 8 net.inet.tcp.rfc3465: 1 net.inet.tcp.rfc3465_lim2: 1 net.inet.tcp.rtt_samples_per_slot: 20 net.inet.tcp.recv_allowed_iaj: 5 net.inet.tcp.acc_iaj_high_thresh: 100 net.inet.tcp.rexmt_thresh: 2 net.inet.tcp.path_mtu_discovery: 1 net.inet.tcp.slowstart_flightsize: 1 net.inet.tcp.local_slowstart_flightsize: 8 net.inet.tcp.tso: 1 net.inet.tcp.ecn_initiate_out: 0 net.inet.tcp.ecn_negotiate_in: 0 net.inet.tcp.packetchain: 50 net.inet.tcp.socket_unlocked_on_output: 1 net.inet.tcp.rfc3390: 1 net.inet.tcp.min_iaj_win: 4 net.inet.tcp.acc_iaj_react_limit: 200 net.inet.tcp.sack: 1 net.inet.tcp.sack_maxholes: 128 net.inet.tcp.sack_globalmaxholes: 65536 net.inet.tcp.sack_globalholes: 0 net.inet.tcp.minmss: 216 net.inet.tcp.minmssoverload: 0 net.inet.tcp.do_tcpdrain: 0 net.inet.tcp.pcbcount: 86 net.inet.tcp.icmp_may_rst: 1 net.inet.tcp.strict_rfc1948: 0 net.inet.tcp.isn_reseed_interval: 0 net.inet.tcp.background_io_enabled: 1 net.inet.tcp.rtt_min: 100 net.inet.tcp.rexmt_slop: 200 net.inet.tcp.randomize_ports: 0 net.inet.tcp.newreno_sockets: 81 net.inet.tcp.background_sockets: -1 net.inet.tcp.tcbhashsize: 4096 net.inet.tcp.background_io_trigger: 5 net.inet.tcp.msl: 15000 net.inet.tcp.max_persist_timeout: 0 net.inet.tcp.always_keepalive: 0 net.inet.tcp.timer_fastmode_idlemax: 20 net.inet.tcp.broken_peer_syn_rxmit_thres: 7 net.inet.tcp.tcp_timer_advanced: 5 net.inet.tcp.tcp_resched_timerlist: 12209 net.inet.tcp.pmtud_blackhole_detection: 1 net.inet.tcp.pmtud_blackhole_mss: 1200 net.inet.tcp.timer_fastquantum: 100 net.inet.tcp.timer_slowquantum: 500 net.inet.tcp.win_scale_factor: 3 net.inet.tcp.in_sw_cksum: 5658081 net.inet.tcp.in_sw_cksum_bytes: 2198681467 net.inet.tcp.out_sw_cksum: 14166053 net.inet.tcp.out_sw_cksum_bytes: 17732561863 net.inet.tcp.sockthreshold: 64 net.inet.tcp.bg_target_qdelay: 100 net.inet.tcp.bg_allowed_increase: 2 net.inet.tcp.bg_tether_shift: 1 net.inet.tcp.bg_ss_fltsz: 2 net.inet.udp.checksum: 1 net.inet.udp.maxdgram: 9216 net.inet.udp.recvspace: 42080 net.inet.udp.in_sw_cksum: 19639 net.inet.udp.in_sw_cksum_bytes: 3928092 net.inet.udp.out_sw_cksum: 17436 net.inet.udp.out_sw_cksum_bytes: 2495444 net.inet.udp.log_in_vain: 0 net.inet.udp.blackhole: 0 net.inet.udp.pcbcount: 72 net.inet.udp.randomize_ports: 1 net.inet.ipsec.def_policy: 1 net.inet.ipsec.esp_trans_deflev: 1 net.inet.ipsec.esp_net_deflev: 1 net.inet.ipsec.ah_trans_deflev: 1 net.inet.ipsec.ah_net_deflev: 1 net.inet.ipsec.ah_cleartos: 1 net.inet.ipsec.ah_offsetmask: 0 net.inet.ipsec.dfbit: 0 net.inet.ipsec.ecn: 0 net.inet.ipsec.debug: 0 net.inet.ipsec.esp_randpad: -1 net.inet.ipsec.bypass: 0 net.inet.ipsec.esp_port: 4500 net.inet.raw.maxdgram: 8192 net.inet.raw.recvspace: 8192 net.link.generic.system.ifcount: 10 net.link.generic.system.dlil_verbose: 0 net.link.generic.system.multi_threaded_input: 1 net.link.generic.system.dlil_input_sanity_check: 0 net.link.ether.inet.prune_intvl: 300 net.link.ether.inet.max_age: 1200 net.link.ether.inet.host_down_time: 20 net.link.ether.inet.apple_hwcksum_tx: 1 net.link.ether.inet.apple_hwcksum_rx: 1 net.link.ether.inet.arp_llreach_base: 30 net.link.ether.inet.maxtries: 5 net.link.ether.inet.useloopback: 1 net.link.ether.inet.proxyall: 0 net.link.ether.inet.sendllconflict: 0 net.link.ether.inet.log_arp_warnings: 0 net.link.ether.inet.keep_announcements: 1 net.link.ether.inet.send_conflicting_probes: 1 net.link.bridge.log_stp: 0 net.link.bridge.debug: 0 net.key.debug: 0 net.key.spi_trycnt: 1000 net.key.spi_minval: 256 net.key.spi_maxval: 268435455 net.key.int_random: 60 net.key.larval_lifetime: 30 net.key.blockacq_count: 10 net.key.blockacq_lifetime: 20 net.key.esp_keymin: 256 net.key.esp_auth: 0 net.key.ah_keymin: 128 net.key.prefered_oldsa: 0 net.key.natt_keepalive_interval: 20 net.inet6.ip6.forwarding: 0 net.inet6.ip6.redirect: 1 net.inet6.ip6.hlim: 64 net.inet6.ip6.maxfragpackets: 1536 net.inet6.ip6.accept_rtadv: 0 net.inet6.ip6.keepfaith: 0 net.inet6.ip6.log_interval: 5 net.inet6.ip6.hdrnestlimit: 15 net.inet6.ip6.dad_count: 1 net.inet6.ip6.auto_flowlabel: 1 net.inet6.ip6.defmcasthlim: 1 net.inet6.ip6.gifhlim: 0 net.inet6.ip6.kame_version: 2009/apple-darwin net.inet6.ip6.use_deprecated: 1 net.inet6.ip6.rr_prune: 5 net.inet6.ip6.v6only: 0 net.inet6.ip6.rtexpire: 3600 net.inet6.ip6.rtminexpire: 10 net.inet6.ip6.rtmaxcache: 128 net.inet6.ip6.use_tempaddr: 1 net.inet6.ip6.temppltime: 86400 net.inet6.ip6.tempvltime: 604800 net.inet6.ip6.auto_linklocal: 1 net.inet6.ip6.prefer_tempaddr: 1 net.inet6.ip6.use_defaultzone: 0 net.inet6.ip6.maxfrags: 12288 net.inet6.ip6.mcast_pmtu: 0 net.inet6.ip6.neighborgcthresh: 1024 net.inet6.ip6.maxifprefixes: 16 net.inet6.ip6.maxifdefrouters: 16 net.inet6.ip6.maxdynroutes: 1024 net.inet6.ip6.fw.enable: 1 net.inet6.ip6.fw.debug: 0 net.inet6.ip6.fw.verbose: 0 net.inet6.ip6.fw.verbose_limit: 0 net.inet6.ip6.scopedroute: 1 net.inet6.ip6.select_srcif_debug: 0 net.inet6.ip6.mcast.maxgrpsrc: 512 net.inet6.ip6.mcast.maxsocksrc: 128 net.inet6.ip6.mcast.loop: 1 net.inet6.ip6.only_allow_rfc4193_prefixes: 0 net.inet6.ipsec6.def_policy: 1 net.inet6.ipsec6.esp_trans_deflev: 1 net.inet6.ipsec6.esp_net_deflev: 1 net.inet6.ipsec6.ah_trans_deflev: 1 net.inet6.ipsec6.ah_net_deflev: 1 net.inet6.ipsec6.ecn: 0 net.inet6.ipsec6.debug: 0 net.inet6.ipsec6.esp_randpad: -1 net.inet6.icmp6.rediraccept: 1 net.inet6.icmp6.redirtimeout: 600 net.inet6.icmp6.nd6_prune: 1 net.inet6.icmp6.nd6_delay: 5 net.inet6.icmp6.nd6_umaxtries: 3 net.inet6.icmp6.nd6_mmaxtries: 3 net.inet6.icmp6.nd6_useloopback: 1 net.inet6.icmp6.nodeinfo: 3 net.inet6.icmp6.errppslimit: 500 net.inet6.icmp6.nd6_maxnudhint: 0 net.inet6.icmp6.nd6_debug: 0 net.inet6.icmp6.nd6_accept_6to4: 1 net.inet6.icmp6.nd6_onlink_ns_rfc4861: 0 net.inet6.icmp6.nd6_llreach_base: 30 net.inet6.mld.gsrdelay: 10 net.inet6.mld.v1enable: 1 net.inet6.mld.use_allow: 1 net.inet6.mld.debug: 0 net.idle.route.expire_timeout: 30 net.idle.route.drain_interval: 10 net.statistics: 1 net.alf.loglevel: 55 net.alf.perm: 0 net.alf.defaultaction: 1 net.alf.mqcount: 0 net.smb.fs.version: 107000 net.smb.fs.loglevel: 0 net.smb.fs.kern_ntlmssp: 0 net.smb.fs.kern_deprecatePreXPServers: 1 net.smb.fs.kern_deadtimer: 60 net.smb.fs.kern_hard_deadtimer: 600 net.smb.fs.kern_soft_deadtimer: 30 net.smb.fs.tcpsndbuf: 261120 net.smb.fs.tcprcvbuf: 261120 DARWIN_SYSCTL @plugin = get_plugin("darwin/network") allow(@plugin).to receive(:collect_os).and_return(:darwin) # @stdin_ifconfig = StringIO.new # @stdin_arp = StringIO.new # @stdin_sysctl = StringIO.new # @stdin_netstat = StringIO.new # @ifconfig_lines = darwin_ifconfig.split("\n") # @arp_lines = darwin_arp.split("\n") # @netstat_lines = darwin_netstat.split("\n") # @sysctl_lines = darwin_sysctl.split("\n") allow(@plugin).to receive(:shell_out).with("route -n get default").and_return(mock_shell_out(0, @darwin_route, "")) allow(@plugin).to receive(:shell_out).with("netstat -i -d -l -b -n") end describe "gathering IP layer address info" do before(:each) do allow(@plugin).to receive(:shell_out).with("arp -an").and_return(mock_shell_out(0, @darwin_arp, "")) allow(@plugin).to receive(:shell_out).with("ifconfig -a").and_return(mock_shell_out(0, @darwin_ifconfig, "")) allow(@plugin).to receive(:shell_out).with("netstat -i -d -l -b -n").and_return(mock_shell_out(0, @darwin_netstat, "")) allow(@plugin).to receive(:shell_out).with("sysctl net").and_return(mock_shell_out(0, @darwin_sysctl, "")) @plugin.run end it "completes the run" do expect(@plugin["network"]).not_to be_nil end it "detects the interfaces" do expect(@plugin["network"]["interfaces"].keys.sort).to eq(%w{en0 en1 fw0 gif0 lo0 p2p0 stf0 utun0}) end it "detects the ipv4 addresses of the ethernet interface" do expect(@plugin["network"]["interfaces"]["en1"]["addresses"].keys).to include("10.20.10.144") expect(@plugin["network"]["interfaces"]["en1"]["addresses"]["10.20.10.144"]["netmask"]).to eq("255.255.255.0") expect(@plugin["network"]["interfaces"]["en1"]["addresses"]["10.20.10.144"]["broadcast"]).to eq("10.20.10.255") expect(@plugin["network"]["interfaces"]["en1"]["addresses"]["10.20.10.144"]["family"]).to eq("inet") end it "detects the ipv6 addresses of the ethernet interface" do expect(@plugin["network"]["interfaces"]["en1"]["addresses"].keys).to include("fe80::ba8d:12ff:fe3a:32de") expect(@plugin["network"]["interfaces"]["en1"]["addresses"]["fe80::ba8d:12ff:fe3a:32de"]["scope"]).to eq("Link") expect(@plugin["network"]["interfaces"]["en1"]["addresses"]["fe80::ba8d:12ff:fe3a:32de"]["prefixlen"]).to eq("64") expect(@plugin["network"]["interfaces"]["en1"]["addresses"]["fe80::ba8d:12ff:fe3a:32de"]["family"]).to eq("inet6") expect(@plugin["network"]["interfaces"]["en1"]["addresses"].keys).to include("2001:44b8:4186:1100:ba8d:12ff:fe3a:32de") expect(@plugin["network"]["interfaces"]["en1"]["addresses"]["2001:44b8:4186:1100:ba8d:12ff:fe3a:32de"]["scope"]).to eq("Global") expect(@plugin["network"]["interfaces"]["en1"]["addresses"]["2001:44b8:4186:1100:ba8d:12ff:fe3a:32de"]["prefixlen"]).to eq("64") expect(@plugin["network"]["interfaces"]["en1"]["addresses"]["2001:44b8:4186:1100:ba8d:12ff:fe3a:32de"]["family"]).to eq("inet6") end it "detects the mac addresses of the ethernet interface" do expect(@plugin["network"]["interfaces"]["en1"]["addresses"].keys).to include("b8:8d:12:3a:32:de") expect(@plugin["network"]["interfaces"]["en1"]["addresses"]["b8:8d:12:3a:32:de"]["family"]).to eq("lladdr") end it "detects the encapsulation type of the ethernet interface" do expect(@plugin["network"]["interfaces"]["en1"]["encapsulation"]).to eq("Ethernet") end it "detects the flags of the ethernet interface" do expect(@plugin["network"]["interfaces"]["en1"]["flags"].sort).to eq(%w{BROADCAST MULTICAST RUNNING SIMPLEX SMART UP}) end it "detects the mtu of the ethernet interface" do expect(@plugin["network"]["interfaces"]["en1"]["mtu"]).to eq("1500") end it "detects the ipv4 addresses of the loopback interface" do expect(@plugin["network"]["interfaces"]["lo0"]["addresses"].keys).to include("127.0.0.1") expect(@plugin["network"]["interfaces"]["lo0"]["addresses"]["127.0.0.1"]["netmask"]).to eq("255.0.0.0") expect(@plugin["network"]["interfaces"]["lo0"]["addresses"]["127.0.0.1"]["family"]).to eq("inet") end it "detects the ipv6 addresses of the loopback interface" do expect(@plugin["network"]["interfaces"]["lo0"]["addresses"].keys).to include("::1") expect(@plugin["network"]["interfaces"]["lo0"]["addresses"]["::1"]["scope"]).to eq("Node") expect(@plugin["network"]["interfaces"]["lo0"]["addresses"]["::1"]["prefixlen"]).to eq("128") expect(@plugin["network"]["interfaces"]["lo0"]["addresses"]["::1"]["family"]).to eq("inet6") end it "detects the encapsulation type of the loopback interface" do expect(@plugin["network"]["interfaces"]["lo0"]["encapsulation"]).to eq("Loopback") end it "detects the flags of the ethernet interface" do expect(@plugin["network"]["interfaces"]["lo0"]["flags"].sort).to eq(%w{LOOPBACK MULTICAST RUNNING UP}) end it "detects the mtu of the loopback interface" do expect(@plugin["network"]["interfaces"]["lo0"]["mtu"]).to eq("16384") end it "detects the arp entries" do expect(@plugin["network"]["interfaces"]["en1"]["arp"]["10.20.10.1"]).to eq("0:4:ed:de:41:bf") end it "detects the ethernet counters" do expect(@plugin["counters"]["network"]["interfaces"]["en1"]["tx"]["bytes"]).to eq("18228234970") expect(@plugin["counters"]["network"]["interfaces"]["en1"]["tx"]["packets"]).to eq("14314573") expect(@plugin["counters"]["network"]["interfaces"]["en1"]["tx"]["collisions"]).to eq("0") expect(@plugin["counters"]["network"]["interfaces"]["en1"]["tx"]["errors"]).to eq("0") expect(@plugin["counters"]["network"]["interfaces"]["en1"]["tx"]["carrier"]).to eq(0) expect(@plugin["counters"]["network"]["interfaces"]["en1"]["tx"]["drop"]).to eq(0) expect(@plugin["counters"]["network"]["interfaces"]["en1"]["rx"]["bytes"]).to eq("2530556736") expect(@plugin["counters"]["network"]["interfaces"]["en1"]["rx"]["packets"]).to eq("5921903") expect(@plugin["counters"]["network"]["interfaces"]["en1"]["rx"]["errors"]).to eq("0") expect(@plugin["counters"]["network"]["interfaces"]["en1"]["rx"]["overrun"]).to eq(0) expect(@plugin["counters"]["network"]["interfaces"]["en1"]["rx"]["drop"]).to eq(0) end it "detects the loopback counters" do expect(@plugin["counters"]["network"]["interfaces"]["lo0"]["tx"]["bytes"]).to eq("25774844") expect(@plugin["counters"]["network"]["interfaces"]["lo0"]["tx"]["packets"]).to eq("174982") expect(@plugin["counters"]["network"]["interfaces"]["lo0"]["tx"]["collisions"]).to eq("0") expect(@plugin["counters"]["network"]["interfaces"]["lo0"]["tx"]["errors"]).to eq("0") expect(@plugin["counters"]["network"]["interfaces"]["lo0"]["tx"]["carrier"]).to eq(0) expect(@plugin["counters"]["network"]["interfaces"]["lo0"]["tx"]["drop"]).to eq(0) expect(@plugin["counters"]["network"]["interfaces"]["lo0"]["rx"]["bytes"]).to eq("25774844") expect(@plugin["counters"]["network"]["interfaces"]["lo0"]["rx"]["packets"]).to eq("174982") expect(@plugin["counters"]["network"]["interfaces"]["lo0"]["rx"]["errors"]).to eq("0") expect(@plugin["counters"]["network"]["interfaces"]["lo0"]["rx"]["overrun"]).to eq(0) expect(@plugin["counters"]["network"]["interfaces"]["lo0"]["rx"]["drop"]).to eq(0) end it "finds the default interface by asking which iface has the default route" do expect(@plugin["network"][:default_interface]).to eq("en1") end it "finds the default interface by asking which iface has the default route" do expect(@plugin["network"][:default_gateway]).to eq("10.20.10.1") end it "should detect network settings" do expect(@plugin["network"]["settings"]["net.local.stream.sendspace"]).to eq("8192") expect(@plugin["network"]["settings"]["net.local.stream.recvspace"]).to eq("8192") expect(@plugin["network"]["settings"]["net.local.stream.tracemdns"]).to eq("0") expect(@plugin["network"]["settings"]["net.local.dgram.maxdgram"]).to eq("2048") expect(@plugin["network"]["settings"]["net.local.dgram.recvspace"]).to eq("4096") expect(@plugin["network"]["settings"]["net.local.inflight"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.portrange.lowfirst"]).to eq("1023") expect(@plugin["network"]["settings"]["net.inet.ip.portrange.lowlast"]).to eq("600") expect(@plugin["network"]["settings"]["net.inet.ip.portrange.first"]).to eq("49152") expect(@plugin["network"]["settings"]["net.inet.ip.portrange.last"]).to eq("65535") expect(@plugin["network"]["settings"]["net.inet.ip.portrange.hifirst"]).to eq("49152") expect(@plugin["network"]["settings"]["net.inet.ip.portrange.hilast"]).to eq("65535") expect(@plugin["network"]["settings"]["net.inet.ip.forwarding"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ip.redirect"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ip.ttl"]).to eq("64") expect(@plugin["network"]["settings"]["net.inet.ip.rtexpire"]).to eq("12") expect(@plugin["network"]["settings"]["net.inet.ip.rtminexpire"]).to eq("10") expect(@plugin["network"]["settings"]["net.inet.ip.rtmaxcache"]).to eq("128") expect(@plugin["network"]["settings"]["net.inet.ip.sourceroute"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.intr_queue_maxlen"]).to eq("50") expect(@plugin["network"]["settings"]["net.inet.ip.intr_queue_drops"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.accept_sourceroute"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.keepfaith"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.gifttl"]).to eq("30") expect(@plugin["network"]["settings"]["net.inet.ip.subnets_are_local"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.mcast.maxgrpsrc"]).to eq("512") expect(@plugin["network"]["settings"]["net.inet.ip.mcast.maxsocksrc"]).to eq("128") expect(@plugin["network"]["settings"]["net.inet.ip.mcast.loop"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ip.check_route_selfref"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ip.use_route_genid"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ip.dummynet.hash_size"]).to eq("64") expect(@plugin["network"]["settings"]["net.inet.ip.dummynet.curr_time"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.dummynet.ready_heap"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.dummynet.extract_heap"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.dummynet.searches"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.dummynet.search_steps"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.dummynet.expire"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ip.dummynet.max_chain_len"]).to eq("16") expect(@plugin["network"]["settings"]["net.inet.ip.dummynet.red_lookup_depth"]).to eq("256") expect(@plugin["network"]["settings"]["net.inet.ip.dummynet.red_avg_pkt_size"]).to eq("512") expect(@plugin["network"]["settings"]["net.inet.ip.dummynet.red_max_pkt_size"]).to eq("1500") expect(@plugin["network"]["settings"]["net.inet.ip.dummynet.debug"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.fw.enable"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ip.fw.autoinc_step"]).to eq("100") expect(@plugin["network"]["settings"]["net.inet.ip.fw.one_pass"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.fw.debug"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.fw.verbose"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.fw.verbose_limit"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.fw.dyn_buckets"]).to eq("256") expect(@plugin["network"]["settings"]["net.inet.ip.fw.curr_dyn_buckets"]).to eq("256") expect(@plugin["network"]["settings"]["net.inet.ip.fw.dyn_count"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.fw.dyn_max"]).to eq("4096") expect(@plugin["network"]["settings"]["net.inet.ip.fw.static_count"]).to eq("2") expect(@plugin["network"]["settings"]["net.inet.ip.fw.dyn_ack_lifetime"]).to eq("300") expect(@plugin["network"]["settings"]["net.inet.ip.fw.dyn_syn_lifetime"]).to eq("20") expect(@plugin["network"]["settings"]["net.inet.ip.fw.dyn_fin_lifetime"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ip.fw.dyn_rst_lifetime"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ip.fw.dyn_udp_lifetime"]).to eq("10") expect(@plugin["network"]["settings"]["net.inet.ip.fw.dyn_short_lifetime"]).to eq("5") expect(@plugin["network"]["settings"]["net.inet.ip.fw.dyn_keepalive"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ip.maxfragpackets"]).to eq("1536") expect(@plugin["network"]["settings"]["net.inet.ip.maxfragsperpacket"]).to eq("128") expect(@plugin["network"]["settings"]["net.inet.ip.maxfrags"]).to eq("3072") expect(@plugin["network"]["settings"]["net.inet.ip.scopedroute"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ip.check_interface"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.linklocal.in.allowbadttl"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ip.random_id"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ip.maxchainsent"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ip.select_srcif_debug"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.icmp.maskrepl"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.icmp.icmplim"]).to eq("250") expect(@plugin["network"]["settings"]["net.inet.icmp.timestamp"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.icmp.drop_redirect"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.icmp.log_redirect"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.icmp.bmcastecho"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.igmp.recvifkludge"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.igmp.sendra"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.igmp.sendlocal"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.igmp.v1enable"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.igmp.v2enable"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.igmp.legacysupp"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.igmp.default_version"]).to eq("3") expect(@plugin["network"]["settings"]["net.inet.igmp.gsrdelay"]).to eq("10") expect(@plugin["network"]["settings"]["net.inet.igmp.debug"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.rfc1323"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.rfc1644"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.mssdflt"]).to eq("512") expect(@plugin["network"]["settings"]["net.inet.tcp.keepidle"]).to eq("7200000") expect(@plugin["network"]["settings"]["net.inet.tcp.keepintvl"]).to eq("75000") expect(@plugin["network"]["settings"]["net.inet.tcp.sendspace"]).to eq("65536") expect(@plugin["network"]["settings"]["net.inet.tcp.recvspace"]).to eq("65536") expect(@plugin["network"]["settings"]["net.inet.tcp.keepinit"]).to eq("75000") expect(@plugin["network"]["settings"]["net.inet.tcp.v6mssdflt"]).to eq("1024") expect(@plugin["network"]["settings"]["net.inet.tcp.log_in_vain"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.blackhole"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.delayed_ack"]).to eq("3") expect(@plugin["network"]["settings"]["net.inet.tcp.tcp_lq_overflow"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.recvbg"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.drop_synfin"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.reass.maxsegments"]).to eq("3072") expect(@plugin["network"]["settings"]["net.inet.tcp.reass.cursegments"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.reass.overflows"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.slowlink_wsize"]).to eq("8192") expect(@plugin["network"]["settings"]["net.inet.tcp.maxseg_unacked"]).to eq("8") expect(@plugin["network"]["settings"]["net.inet.tcp.rfc3465"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.rfc3465_lim2"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.rtt_samples_per_slot"]).to eq("20") expect(@plugin["network"]["settings"]["net.inet.tcp.recv_allowed_iaj"]).to eq("5") expect(@plugin["network"]["settings"]["net.inet.tcp.acc_iaj_high_thresh"]).to eq("100") expect(@plugin["network"]["settings"]["net.inet.tcp.rexmt_thresh"]).to eq("2") expect(@plugin["network"]["settings"]["net.inet.tcp.path_mtu_discovery"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.slowstart_flightsize"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.local_slowstart_flightsize"]).to eq("8") expect(@plugin["network"]["settings"]["net.inet.tcp.tso"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.ecn_initiate_out"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.ecn_negotiate_in"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.packetchain"]).to eq("50") expect(@plugin["network"]["settings"]["net.inet.tcp.socket_unlocked_on_output"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.rfc3390"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.min_iaj_win"]).to eq("4") expect(@plugin["network"]["settings"]["net.inet.tcp.acc_iaj_react_limit"]).to eq("200") expect(@plugin["network"]["settings"]["net.inet.tcp.sack"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.sack_maxholes"]).to eq("128") expect(@plugin["network"]["settings"]["net.inet.tcp.sack_globalmaxholes"]).to eq("65536") expect(@plugin["network"]["settings"]["net.inet.tcp.sack_globalholes"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.minmss"]).to eq("216") expect(@plugin["network"]["settings"]["net.inet.tcp.minmssoverload"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.do_tcpdrain"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.pcbcount"]).to eq("86") expect(@plugin["network"]["settings"]["net.inet.tcp.icmp_may_rst"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.strict_rfc1948"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.isn_reseed_interval"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.background_io_enabled"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.rtt_min"]).to eq("100") expect(@plugin["network"]["settings"]["net.inet.tcp.rexmt_slop"]).to eq("200") expect(@plugin["network"]["settings"]["net.inet.tcp.randomize_ports"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.newreno_sockets"]).to eq("81") expect(@plugin["network"]["settings"]["net.inet.tcp.background_sockets"]).to eq("-1") expect(@plugin["network"]["settings"]["net.inet.tcp.tcbhashsize"]).to eq("4096") expect(@plugin["network"]["settings"]["net.inet.tcp.background_io_trigger"]).to eq("5") expect(@plugin["network"]["settings"]["net.inet.tcp.msl"]).to eq("15000") expect(@plugin["network"]["settings"]["net.inet.tcp.max_persist_timeout"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.always_keepalive"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.tcp.timer_fastmode_idlemax"]).to eq("20") expect(@plugin["network"]["settings"]["net.inet.tcp.broken_peer_syn_rxmit_thres"]).to eq("7") expect(@plugin["network"]["settings"]["net.inet.tcp.tcp_timer_advanced"]).to eq("5") expect(@plugin["network"]["settings"]["net.inet.tcp.tcp_resched_timerlist"]).to eq("12209") expect(@plugin["network"]["settings"]["net.inet.tcp.pmtud_blackhole_detection"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.pmtud_blackhole_mss"]).to eq("1200") expect(@plugin["network"]["settings"]["net.inet.tcp.timer_fastquantum"]).to eq("100") expect(@plugin["network"]["settings"]["net.inet.tcp.timer_slowquantum"]).to eq("500") expect(@plugin["network"]["settings"]["net.inet.tcp.win_scale_factor"]).to eq("3") expect(@plugin["network"]["settings"]["net.inet.tcp.sockthreshold"]).to eq("64") expect(@plugin["network"]["settings"]["net.inet.tcp.bg_target_qdelay"]).to eq("100") expect(@plugin["network"]["settings"]["net.inet.tcp.bg_allowed_increase"]).to eq("2") expect(@plugin["network"]["settings"]["net.inet.tcp.bg_tether_shift"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.tcp.bg_ss_fltsz"]).to eq("2") expect(@plugin["network"]["settings"]["net.inet.udp.checksum"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.udp.maxdgram"]).to eq("9216") expect(@plugin["network"]["settings"]["net.inet.udp.recvspace"]).to eq("42080") expect(@plugin["network"]["settings"]["net.inet.udp.log_in_vain"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.udp.blackhole"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.udp.pcbcount"]).to eq("72") expect(@plugin["network"]["settings"]["net.inet.udp.randomize_ports"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ipsec.def_policy"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ipsec.esp_trans_deflev"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ipsec.esp_net_deflev"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ipsec.ah_trans_deflev"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ipsec.ah_net_deflev"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ipsec.ah_cleartos"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet.ipsec.ah_offsetmask"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ipsec.dfbit"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ipsec.ecn"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ipsec.debug"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ipsec.esp_randpad"]).to eq("-1") expect(@plugin["network"]["settings"]["net.inet.ipsec.bypass"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet.ipsec.esp_port"]).to eq("4500") expect(@plugin["network"]["settings"]["net.inet.raw.maxdgram"]).to eq("8192") expect(@plugin["network"]["settings"]["net.inet.raw.recvspace"]).to eq("8192") expect(@plugin["network"]["settings"]["net.link.generic.system.ifcount"]).to eq("10") expect(@plugin["network"]["settings"]["net.link.generic.system.dlil_verbose"]).to eq("0") expect(@plugin["network"]["settings"]["net.link.generic.system.multi_threaded_input"]).to eq("1") expect(@plugin["network"]["settings"]["net.link.generic.system.dlil_input_sanity_check"]).to eq("0") expect(@plugin["network"]["settings"]["net.link.ether.inet.prune_intvl"]).to eq("300") expect(@plugin["network"]["settings"]["net.link.ether.inet.max_age"]).to eq("1200") expect(@plugin["network"]["settings"]["net.link.ether.inet.host_down_time"]).to eq("20") expect(@plugin["network"]["settings"]["net.link.ether.inet.apple_hwcksum_tx"]).to eq("1") expect(@plugin["network"]["settings"]["net.link.ether.inet.apple_hwcksum_rx"]).to eq("1") expect(@plugin["network"]["settings"]["net.link.ether.inet.arp_llreach_base"]).to eq("30") expect(@plugin["network"]["settings"]["net.link.ether.inet.maxtries"]).to eq("5") expect(@plugin["network"]["settings"]["net.link.ether.inet.useloopback"]).to eq("1") expect(@plugin["network"]["settings"]["net.link.ether.inet.proxyall"]).to eq("0") expect(@plugin["network"]["settings"]["net.link.ether.inet.sendllconflict"]).to eq("0") expect(@plugin["network"]["settings"]["net.link.ether.inet.log_arp_warnings"]).to eq("0") expect(@plugin["network"]["settings"]["net.link.ether.inet.keep_announcements"]).to eq("1") expect(@plugin["network"]["settings"]["net.link.ether.inet.send_conflicting_probes"]).to eq("1") expect(@plugin["network"]["settings"]["net.link.bridge.log_stp"]).to eq("0") expect(@plugin["network"]["settings"]["net.link.bridge.debug"]).to eq("0") expect(@plugin["network"]["settings"]["net.key.debug"]).to eq("0") expect(@plugin["network"]["settings"]["net.key.spi_trycnt"]).to eq("1000") expect(@plugin["network"]["settings"]["net.key.spi_minval"]).to eq("256") expect(@plugin["network"]["settings"]["net.key.spi_maxval"]).to eq("268435455") expect(@plugin["network"]["settings"]["net.key.int_random"]).to eq("60") expect(@plugin["network"]["settings"]["net.key.larval_lifetime"]).to eq("30") expect(@plugin["network"]["settings"]["net.key.blockacq_count"]).to eq("10") expect(@plugin["network"]["settings"]["net.key.blockacq_lifetime"]).to eq("20") expect(@plugin["network"]["settings"]["net.key.esp_keymin"]).to eq("256") expect(@plugin["network"]["settings"]["net.key.esp_auth"]).to eq("0") expect(@plugin["network"]["settings"]["net.key.ah_keymin"]).to eq("128") expect(@plugin["network"]["settings"]["net.key.prefered_oldsa"]).to eq("0") expect(@plugin["network"]["settings"]["net.key.natt_keepalive_interval"]).to eq("20") expect(@plugin["network"]["settings"]["net.inet6.ip6.forwarding"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ip6.redirect"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ip6.hlim"]).to eq("64") expect(@plugin["network"]["settings"]["net.inet6.ip6.maxfragpackets"]).to eq("1536") expect(@plugin["network"]["settings"]["net.inet6.ip6.accept_rtadv"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ip6.keepfaith"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ip6.log_interval"]).to eq("5") expect(@plugin["network"]["settings"]["net.inet6.ip6.hdrnestlimit"]).to eq("15") expect(@plugin["network"]["settings"]["net.inet6.ip6.dad_count"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ip6.auto_flowlabel"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ip6.defmcasthlim"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ip6.gifhlim"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ip6.kame_version"]).to eq("2009/apple-darwin") expect(@plugin["network"]["settings"]["net.inet6.ip6.use_deprecated"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ip6.rr_prune"]).to eq("5") expect(@plugin["network"]["settings"]["net.inet6.ip6.v6only"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ip6.rtexpire"]).to eq("3600") expect(@plugin["network"]["settings"]["net.inet6.ip6.rtminexpire"]).to eq("10") expect(@plugin["network"]["settings"]["net.inet6.ip6.rtmaxcache"]).to eq("128") expect(@plugin["network"]["settings"]["net.inet6.ip6.use_tempaddr"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ip6.temppltime"]).to eq("86400") expect(@plugin["network"]["settings"]["net.inet6.ip6.tempvltime"]).to eq("604800") expect(@plugin["network"]["settings"]["net.inet6.ip6.auto_linklocal"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ip6.prefer_tempaddr"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ip6.use_defaultzone"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ip6.maxfrags"]).to eq("12288") expect(@plugin["network"]["settings"]["net.inet6.ip6.mcast_pmtu"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ip6.neighborgcthresh"]).to eq("1024") expect(@plugin["network"]["settings"]["net.inet6.ip6.maxifprefixes"]).to eq("16") expect(@plugin["network"]["settings"]["net.inet6.ip6.maxifdefrouters"]).to eq("16") expect(@plugin["network"]["settings"]["net.inet6.ip6.maxdynroutes"]).to eq("1024") expect(@plugin["network"]["settings"]["net.inet6.ip6.fw.enable"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ip6.fw.debug"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ip6.fw.verbose"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ip6.fw.verbose_limit"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ip6.scopedroute"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ip6.select_srcif_debug"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ip6.mcast.maxgrpsrc"]).to eq("512") expect(@plugin["network"]["settings"]["net.inet6.ip6.mcast.maxsocksrc"]).to eq("128") expect(@plugin["network"]["settings"]["net.inet6.ip6.mcast.loop"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ip6.only_allow_rfc4193_prefixes"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ipsec6.def_policy"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ipsec6.esp_trans_deflev"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ipsec6.esp_net_deflev"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ipsec6.ah_trans_deflev"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ipsec6.ah_net_deflev"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.ipsec6.ecn"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ipsec6.debug"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.ipsec6.esp_randpad"]).to eq("-1") expect(@plugin["network"]["settings"]["net.inet6.icmp6.rediraccept"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.icmp6.redirtimeout"]).to eq("600") expect(@plugin["network"]["settings"]["net.inet6.icmp6.nd6_prune"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.icmp6.nd6_delay"]).to eq("5") expect(@plugin["network"]["settings"]["net.inet6.icmp6.nd6_umaxtries"]).to eq("3") expect(@plugin["network"]["settings"]["net.inet6.icmp6.nd6_mmaxtries"]).to eq("3") expect(@plugin["network"]["settings"]["net.inet6.icmp6.nd6_useloopback"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.icmp6.nodeinfo"]).to eq("3") expect(@plugin["network"]["settings"]["net.inet6.icmp6.errppslimit"]).to eq("500") expect(@plugin["network"]["settings"]["net.inet6.icmp6.nd6_maxnudhint"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.icmp6.nd6_debug"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.icmp6.nd6_accept_6to4"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.icmp6.nd6_onlink_ns_rfc4861"]).to eq("0") expect(@plugin["network"]["settings"]["net.inet6.icmp6.nd6_llreach_base"]).to eq("30") expect(@plugin["network"]["settings"]["net.inet6.mld.gsrdelay"]).to eq("10") expect(@plugin["network"]["settings"]["net.inet6.mld.v1enable"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.mld.use_allow"]).to eq("1") expect(@plugin["network"]["settings"]["net.inet6.mld.debug"]).to eq("0") expect(@plugin["network"]["settings"]["net.idle.route.expire_timeout"]).to eq("30") expect(@plugin["network"]["settings"]["net.idle.route.drain_interval"]).to eq("10") expect(@plugin["network"]["settings"]["net.statistics"]).to eq("1") expect(@plugin["network"]["settings"]["net.alf.loglevel"]).to eq("55") expect(@plugin["network"]["settings"]["net.alf.perm"]).to eq("0") expect(@plugin["network"]["settings"]["net.alf.defaultaction"]).to eq("1") expect(@plugin["network"]["settings"]["net.alf.mqcount"]).to eq("0") expect(@plugin["network"]["settings"]["net.smb.fs.version"]).to eq("107000") expect(@plugin["network"]["settings"]["net.smb.fs.loglevel"]).to eq("0") expect(@plugin["network"]["settings"]["net.smb.fs.kern_ntlmssp"]).to eq("0") expect(@plugin["network"]["settings"]["net.smb.fs.kern_deprecatePreXPServers"]).to eq("1") expect(@plugin["network"]["settings"]["net.smb.fs.kern_deadtimer"]).to eq("60") expect(@plugin["network"]["settings"]["net.smb.fs.kern_hard_deadtimer"]).to eq("600") expect(@plugin["network"]["settings"]["net.smb.fs.kern_soft_deadtimer"]).to eq("30") expect(@plugin["network"]["settings"]["net.smb.fs.tcpsndbuf"]).to eq("261120") expect(@plugin["network"]["settings"]["net.smb.fs.tcprcvbuf"]).to eq("261120") end end end