Requirements





You must login as root user or have sudo setup correctly for the user account administrating FreeBSD.









Please see article Setup FreeBSD Proxy for more details on setting up proxy on FreeBSD.

List hardware Details in FreeBSD





Options for pciconf



usage: pciconf -l [-BbcevV] [device]

pciconf -a device

pciconf -r [-b | -h] device addr[:addr2]

pciconf -w [-b | -h] device addr value

usage:[-BbcevV] [device]device[-b | -h] device addr[:addr2][-b | -h] device addr value

I find pciconf more useful than lspci. See details for igb0 - 3 below output

# pciconf



...

igb0@pci0:1:0:0: class=0x020000 card=0x1f601028 chip=0x15218086 rev=0x01 hdr=0x00

vendor = 'Intel Corporation'

device = 'I350 Gigabit Network Connection'

class = network

subclass = ethernet

igb1@pci0:1:0:1: class=0x020000 card=0x1f601028 chip=0x15218086 rev=0x01 hdr=0x00

vendor = 'Intel Corporation'

device = 'I350 Gigabit Network Connection'

class = network

subclass = ethernet

igb2@pci0:1:0:2: class=0x020000 card=0x1f601028 chip=0x15218086 rev=0x01 hdr=0x00

vendor = 'Intel Corporation'

device = 'I350 Gigabit Network Connection'

class = network

subclass = ethernet

igb3@pci0:1:0:3: class=0x020000 card=0x1f601028 chip=0x15218086 rev=0x01 hdr=0x00

vendor = 'Intel Corporation'

device = 'I350 Gigabit Network Connection'

class = network

subclass = ethernet

...



Adding a Static Address





​When adding static IP addresses you would add the following lines in your /etc/rc.conf

ifconfig_igb0="inet 192.168.0.10 netmask 255.255.255.0"

ifconfig_igb1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"



Add below if you prefer HDCP for the interface igb0





ifconfig_igb0="DHCP"



Adding gateway and nameservers, do below and add these lines to /etc/rc.conf





# echo 'defaultrouter="192.168.0.1"' >> /etc/rc.conf

# echo 'nameserver 8.8.8.8' >> /etc/resolv.conf



Adding Alias Network Interfaces





Add below line to /etc/rc.conf





# vim /etc/rc.conf



Add below





ifconfig_igb0_alias0="inet 192.168.0.11 netmask 255.255.255.0"



You can add more alias by adding below





ifconfig_igb0_alias0="inet 192.168.0.11 netmask 255.255.255.0" ​



You could also ad below for 2 different networks





​ifconfig_igb0_alias1="inet 192.168.0.12 netmask 255.255.255.0"



Adding IPv6 Support





Edit rc.conf and add the below line to it and save rc.conf. rc.conf is under /etc

ifconfig_rl0_ipv6="inet6 accept_rtadv"

rtsold_enable="YES"



If the interface needs a statically assigned IPv6 address, add an entry to specify the static address and associated prefix length:



ifconfig_rl0_ipv6="inet6 2001:db8:4672:6565:2026:5043:2d42:5344 prefixlen 64"​

To assign a default router, specify its address:





ipv6_defaultrouter="2001:db8:4672:6565::1" ​



IPv6 and IPv4 Address Mapping





Add below line to /etc/rc.conf for address mapping, there may be a need to enable IPv4 mapped IPv6 address communication. This compatibility option allows for IPv4 addresses to be represented as IPv6 addresses. Permitting IPv6 applications to communicate with IPv4 and vice versa may be a security issue.

ipv6_ipv4mapping="YES"



Adding IP Address with Hostname





Edit /etc/rc.conf and add below lines to it





hostname="domains.linuxsecrets.com"

ifconfig_lnc0="inet 192.168.0.10 netmask 255.255.255.0"

## Default gateway ##

defaultrouter="192.168.0.1" ​



During these changes we can monitor the effects of our changes to rc.conf after restart of network services and the gateway by issuing a tail to watch dmesg. Make sure you have an extra terminal open to watch dmesg logs or ALT - F1 - F8 from console to switch between xterm sessions.





# tail -f /var/run/dmesg.boot



uhub4: 6 ports with 6 removable, self powered

ugen0.5: at usbus0

ukbd1: on usbus0

kbd3 at ukbd1

igb1: link state changed to UP

ums0: on usbus0

ums0: 3 buttons and [Z] coordinates ID=0

ums1: on usbus0

ums1: 3 buttons and [XYZ] coordinates ID=0

\000



Find Network Device from dmesg





# cat /var/run/dmesg.boot | grep -i igb0



igb0: port 0xfc80-0xfc9f mem 0xdcb00000-0xdcbfffff,0xdcff0000-0xdcff3fff irq 38 at device 0.0 numa-domain 0 on pci1

igb0: Using MSIX interrupts with 9 vectors

igb0: Ethernet address: bc:30:5b:ee:38:9c

igb0: Bound queue 0 to cpu 0

igb0: Bound queue 1 to cpu 1

igb0: Bound queue 2 to cpu 2

igb0: Bound queue 3 to cpu 3

igb0: Bound queue 4 to cpu 4

igb0: Bound queue 5 to cpu 5

igb0: Bound queue 6 to cpu 6

igb0: Bound queue 7 to cpu 7

igb0: netmap queues/slots: TX 8/1024, RX 8/1024



After making modifications to rc.conf you can now restart the services to apply your changes





# service netif restart



Note: If a default gateway has been changed or set in /etc/rc.conf, also issue this command:



# service routing restart



Note: You should see the interface(s) activating from tail -f. Please see below for tail -f and aliases.



Adding a hostname in rc.conf





# vim /etc/rc.conf



Add below line to rc.conf





hostname="domains.linuxsecrets.com"



# ifconfig



igb0: flags=8c02<BROADCAST,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=6403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> ether bc:30:5b:ee:38:9c nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet autoselect status: no carrier igb1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=6403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> ether bc:30:5b:ee:38:9d inet6 fe80::be30:5bff:feee:389d%igb1 prefixlen 64 scopeid 0x2 inet 192.168.0.10 netmask 0xffffff00 broadcast 192.168.0.255 nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> media: Ethernet autoselect (1000baseT <full-duplex>) status: active igb2: flags=8c02<BROADCAST,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=6403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> ether bc:30:5b:ee:38:9e nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet autoselect status: no carrier igb3: flags=8c02<BROADCAST,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=6403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> ether bc:30:5b:ee:38:9f nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet autoselect status: no carrier ix0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=e407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> ether 90:e2:ba:06:90:c0 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet autoselect status: no carrier ix1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=e407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> ether 90:e2:ba:06:90:c1 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet autoselect status: no carrier lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6> inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x7 inet 127.0.0.1 netmask 0xff000000 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> groups: lo

Note: Make sure you have your firewall configured correctly. Since there is so many firewalls for FreeBSD I'm leaving out the firewall information. I'll create an article specifically for firewalls in FreeBSD.



Blink Network LED on Device





Try below script





# for i in {1..10000}; do echo f2 > /dev/led/igb0;echo 0 > /dev/led/igb0; done



Down/Up Interface Manually





Down interface





# ifconfig igb0 down



OR - up





# ifconfig igb0 up



Locating Module Associated to Device





# kldstat -vv | grep -i igb



Each module has it's own ID as you can see from below example for the igb interface which is 111. You can also use the ID to load or unload the module by this ID by typing i.e. # kldunload -i 111 or kldload -i 111.

111 pci/igb



Note: The IF_IGB module is loading our integrated network cards.



OR all PCI device modules loadable during boot





# kldstat -vv | grep -i pci



119 pci/fxp 103 pci/dc 336 pci/xl 260 pci/ste 110 pci/lem 109 pci/em 477 pci/ioapic 108 pci/dpt 107 pci/de 476 qpi/pcib 474 isa/pcibus_pnp 473 legacy/pcib 256 pci/snd_hda 253 pci/snd_via8233 252 pci/snd_ich 457 vgapci/vgapm 454 pci/isci 453 pcib/xen_pci 452 pcib/xen_acpi_pci 451 pci/vmx 251 pci/snd_es137x 248 pci/snd_emu10kx 446 pci/nvme 246 pci/snd_csa 443 pci/nfe 245 pci/snd_cmi 242 pci/skc 434 pci/hptrr 433 pci/hptnr 240 pci/sis 432 pci/hptmv 431 pci/hpt27xx 238 pci/siis 236 pci/sge 234 pci/sf 233 sdhci_pci/mmc 426 pci/ixlv 232 pci/sdhci_pci 229 pci/rl 227 pci/re 101 pci/ciss 99 pci/cas 97 pci/bt 425 pci/ixl 94 pci/bge 225 pci/ral 422 pci/bxe 224 pci/puc 92 pci/bfe 221 pci/ppc 415 pci/arcmsr 413 vgapci/agp_i810 90 pci/bce 215 pci/pmspcv 17 pci/aacch 16 pci/aac 89 pci/ath_pci 88 pci/ata_via 87 pci/ata_sis 86 pci/ata_sii 85 pci/ata_serverworks 84 pci/ata_promise 83 pci/ata_nvidia 82 pci/ata_netcell 213 pci/pcn 212 pci/vgapci 211 pci/pcib 81 pci/ata_national 210 pcib/pci 209 pci/isab 208 pci/ignore_pci 207 pci/hostb 206 pci/fixup_pci 205 pci/cbb 202 pcic/pccard 199 pci/nge 80 pci/ata_micron 197 pci/mwl 79 pci/ata_marvell 196 pci/mvs 78 pci/ata_jmicron 191 pci/mskc 77 pci/ata_ite 76 pci/ata_intel 75 pci/ata_highpoint 190 pci/mrsas 74 pci/ata_cyrix 73 pci/ata_cypress 72 pci/ata_cenatek 71 pci/ata_ati 187 pci/mpt 70 pci/ata_amd 69 pci/ata_ali 68 pci/ata_acard 67 atapci/ata 66 pci/atapci 184 pci/mps 183 pci/mpr 31 pci/acpi_pcib 181 pci/mly 180 pci/mlx 147 pci/mfi 30 acpi/acpi_pcib 62 pci/an 144 pci/malo 59 pci/amr 142 pci/lge 141 pci/le 138 pci/jme 56 pci/ale 29 acpi/acpi_pci_link 19 pci/aacraid 54 pci/alc 28 pcib/acpi_pci 137 pci/ixv 51 pci/ahd 50 pci/ahc_pci 136 pci/ix 135 pci/iwn 327 pci/xenpci 134 pci/iwi 133 pci/isp 132 pci/ipw 131 pci/ips 129 pci/iir 318 pci/wpi 317 pci/wi 314 pci/wb 312 pci/vx 47 atapci/ahci 46 pci/ahci 128 pci/ida 126 pci/hptiop 125 pci/hme 309 pci/vr 308 virtio_pci/virtio_scsi 307 virtio_pci/virtio_balloon 306 virtio_pci/virtio_blk 123 pci/gem 304 virtio_pci/vtnet 302 pci/virtio_pci 114 pci/esp 299 pci/vge 112 pci/et 111 pci/igb 284 pci/xhci 283 pci/uhci 282 pci/ohci 281 pci/ehci 279 pci/uart 275 pci/txp 42 pci/age 273 pci/tx 272 pci/tws 40 pci/ae 39 pci/adw 270 pci/twe 269 pci/twa 38 pci/adv 268 pci/trm 266 pci/tl 265 pci/ti 264 pci/sym 262 pci/stge

All availabe modules can be found here without ID's but with complete name of module.





# ls /boot/kernel



aac.ko if_my.ko procfs.ko aacraid.ko if_ndis.ko profile.ko accf_data.ko if_nfe.ko proto.ko accf_dns.ko if_nge.ko prototype.ko accf_http.ko if_ntb.ko pseudofs.ko acl_nfs4.ko if_nxge.ko pty.ko acl_posix1e.ko if_oce.ko puc.ko acpi_asus.ko if_otus.ko r128.ko acpi_asus_wmi.ko if_patm.ko radeon.ko acpi_dock.ko if_pcn.ko radeonkms.ko acpi_fujitsu.ko if_qlxgb.ko radeonkmsfw_ARUBA_me.ko acpi_hp.ko if_qlxgbe.ko radeonkmsfw_ARUBA_pfp.ko acpi_ibm.ko if_qlxge.ko radeonkmsfw_ARUBA_rlc.ko acpi_panasonic.ko if_ral.ko radeonkmsfw_BARTS_mc.ko acpi_sony.ko if_re.ko radeonkmsfw_BARTS_me.ko acpi_toshiba.ko if_rl.ko radeonkmsfw_BARTS_pfp.ko acpi_video.ko if_rsu.ko radeonkmsfw_BTC_rlc.ko acpi_wmi.ko if_rtwn.ko radeonkmsfw_CAICOS_mc.ko aesni.ko if_rue.ko radeonkmsfw_CAICOS_me.ko agp.ko if_rum.ko radeonkmsfw_CAICOS_pfp.ko aha.ko if_run.ko radeonkmsfw_CAYMAN_mc.ko ahc.ko if_sf.ko radeonkmsfw_CAYMAN_me.ko ahc_isa.ko if_sge.ko radeonkmsfw_CAYMAN_pfp.ko ahc_pci.ko if_sis.ko radeonkmsfw_CAYMAN_rlc.ko ahci.ko if_sk.ko radeonkmsfw_CEDAR_me.ko ahd.ko if_smsc.ko radeonkmsfw_CEDAR_pfp.ko aibs.ko if_sn.ko radeonkmsfw_CEDAR_rlc.ko alias_cuseeme.ko if_ste.ko radeonkmsfw_CYPRESS_me.ko alias_dummy.ko if_stf.ko radeonkmsfw_CYPRESS_pfp.ko alias_ftp.ko if_stge.ko radeonkmsfw_CYPRESS_rlc.ko alias_irc.ko if_tap.ko radeonkmsfw_JUNIPER_me.ko alias_nbt.ko if_ti.ko radeonkmsfw_JUNIPER_pfp.ko alias_pptp.ko if_tl.ko radeonkmsfw_JUNIPER_rlc.ko alias_skinny.ko if_tun.ko radeonkmsfw_PALM_me.ko alias_smedia.ko if_tx.ko radeonkmsfw_PALM_pfp.ko alpm.ko if_txp.ko radeonkmsfw_PITCAIRN_ce.ko alq.ko if_uath.ko radeonkmsfw_PITCAIRN_mc.ko amdpm.ko if_udav.ko radeonkmsfw_PITCAIRN_me.ko amdsbwd.ko if_upgt.ko radeonkmsfw_PITCAIRN_pfp.ko amdsmb.ko if_ural.ko radeonkmsfw_PITCAIRN_rlc.ko amdtemp.ko if_ure.ko radeonkmsfw_R100_cp.ko amr.ko if_urndis.ko radeonkmsfw_R200_cp.ko amr_cam.ko if_urtw.ko radeonkmsfw_R300_cp.ko amr_linux.ko if_urtwn.ko radeonkmsfw_R420_cp.ko aout.ko if_vge.ko radeonkmsfw_R520_cp.ko arcmsr.ko if_vlan.ko radeonkmsfw_R600_me.ko asmc.ko if_vmx.ko radeonkmsfw_R600_pfp.ko ata.ko if_vr.ko radeonkmsfw_R600_rlc.ko ataacard.ko if_vte.ko radeonkmsfw_R700_rlc.ko ataacerlabs.ko if_vtnet.ko radeonkmsfw_REDWOOD_me.ko ataamd.ko if_vx.ko radeonkmsfw_REDWOOD_pfp.ko ataati.ko if_vxlan.ko radeonkmsfw_REDWOOD_rlc.ko atacard.ko if_wb.ko radeonkmsfw_RS600_cp.ko atacenatek.ko if_wi.ko radeonkmsfw_RS690_cp.ko atacypress.ko if_wpi.ko radeonkmsfw_RS780_me.ko atacyrix.ko if_xe.ko radeonkmsfw_RS780_pfp.ko atahighpoint.ko if_xl.ko radeonkmsfw_RV610_me.ko ataintel.ko if_zyd.ko radeonkmsfw_RV610_pfp.ko ataisa.ko ig4.ko radeonkmsfw_RV620_me.ko ataite.ko iic.ko radeonkmsfw_RV620_pfp.ko atajmicron.ko iicbb.ko radeonkmsfw_RV630_me.ko atamarvell.ko iicbus.ko radeonkmsfw_RV630_pfp.ko atamicron.ko iicsmb.ko radeonkmsfw_RV635_me.ko atanational.ko iir.ko radeonkmsfw_RV635_pfp.ko atanetcell.ko imgact_binmisc.ko radeonkmsfw_RV670_me.ko atanvidia.ko intpm.ko radeonkmsfw_RV670_pfp.ko atapci.ko io.ko radeonkmsfw_RV710_me.ko atapromise.ko ioat.ko radeonkmsfw_RV710_pfp.ko ataserverworks.ko ip6_mroute.ko radeonkmsfw_RV730_me.ko atasiliconimage.ko ip_mroute.ko radeonkmsfw_RV730_pfp.ko atasis.ko ipdivert.ko radeonkmsfw_RV770_me.ko atavia.ko ipfw.ko radeonkmsfw_RV770_pfp.ko atp.ko ipfw_nat.ko radeonkmsfw_SUMO2_me.ko autofs.ko ipl.ko radeonkmsfw_SUMO2_pfp.ko bcma.ko ipmi.ko radeonkmsfw_SUMO_me.ko bcma_bhndb.ko ipmi_linux.ko radeonkmsfw_SUMO_pfp.ko beastie_saver.ko ips.ko radeonkmsfw_SUMO_rlc.ko bhnd.ko ipw_bss.ko radeonkmsfw_TAHITI_ce.ko bhnd_chipc.ko ipw_ibss.ko radeonkmsfw_TAHITI_mc.ko bhnd_pci.ko ipw_monitor.ko radeonkmsfw_TAHITI_me.ko bhnd_pci_hostb.ko isci.ko radeonkmsfw_TAHITI_pfp.ko bhnd_pcib.ko iscsi.ko radeonkmsfw_TAHITI_rlc.ko bhndb.ko iscsi_initiator.ko radeonkmsfw_TURKS_mc.ko bhndb_pci.ko isl.ko radeonkmsfw_TURKS_me.ko bktr.ko ismt.ko radeonkmsfw_TURKS_pfp.ko bktr_mem.ko isp.ko radeonkmsfw_VERDE_ce.ko blank_saver.ko isp_1040.ko radeonkmsfw_VERDE_mc.ko bridgestp.ko isp_1080.ko radeonkmsfw_VERDE_me.ko callout_test.ko isp_12160.ko radeonkmsfw_VERDE_pfp.ko cam.ko isp_2100.ko radeonkmsfw_VERDE_rlc.ko cardbus.ko isp_2200.ko rain_saver.ko carp.ko isp_2300.ko random_OTHER.ko cbb.ko isp_2322.ko random_fortuna.ko cc_cdg.ko isp_2400.ko random_yarrow.ko cc_chd.ko isp_2500.ko rc4.ko cc_cubic.ko ispfw.ko rdrand_rng.ko cc_dctcp.ko iwi_bss.ko rsu-rtl8712fw.ko cc_hd.ko iwi_ibss.ko rt2561fw.ko cc_htcp.ko iwi_monitor.ko rt2561sfw.ko cc_vegas.ko iwm3160fw.ko rt2661fw.ko cd9660.ko iwm7260fw.ko rt2860fw.ko cd9660_iconv.ko iwm7265fw.ko rtwn-rtl8192cfwU.ko ciss.ko iwm8000Cfw.ko rtwn-rtl8192cfwU_B.ko cloudabi.ko iwn1000fw.ko runfw.ko cloudabi64.ko iwn100fw.ko s3.ko cmx.ko iwn105fw.ko safe.ko coretemp.ko iwn135fw.ko savage.ko cpuctl.ko iwn2000fw.ko sbp.ko cpufreq.ko iwn2030fw.ko sbp_targ.ko crypto.ko iwn4965fw.ko scc.ko cryptodev.ko iwn5000fw.ko scd.ko ctl.ko iwn5150fw.ko scsi_low.ko cuse.ko iwn6000fw.ko sdhci.ko cxgb_t3fw.ko iwn6000g2afw.ko sdhci_pci.ko cxgbei.ko iwn6000g2bfw.ko sdt.ko cyapa.ko iwn6050fw.ko sem.ko daemon_saver.ko joy.ko send.ko dcons.ko kbdmux.ko sfxge.ko dcons_crom.ko kern_testfrwk.ko si.ko dpms.ko kernel siba.ko dragon_saver.ko kgssapi.ko siba_bhndb.ko drm.ko kgssapi_krb5.ko siba_bwn.ko drm2.ko krpc.ko siftr.ko dtmalloc.ko ksyms.ko siis.ko dtnfscl.ko libalias.ko sis.ko dtrace.ko libiconv.ko smb.ko dtrace_test.ko libmbpool.ko smbfs.ko dtraceall.ko libmchain.ko smbus.ko dummynet.ko linker.hints snake_saver.ko ehci.ko linprocfs.ko snd_ad1816.ko esp.ko linsysfs.ko snd_als4000.ko exca.ko linux.ko snd_atiixp.ko ext2fs.ko linux64.ko snd_cmi.ko fade_saver.ko linux_common.ko snd_cs4281.ko fasttrap.ko linuxkpi.ko snd_csa.ko fbt.ko logo_saver.ko snd_driver.ko fdc.ko lpbb.ko snd_ds1.ko fdescfs.ko lpt.ko snd_emu10k1.ko filemon.ko mac_biba.ko snd_emu10kx.ko fire_saver.ko mac_bsdextended.ko snd_envy24.ko firewire.ko mac_ifoff.ko snd_envy24ht.ko firmware.ko mac_lomac.ko snd_es137x.ko fuse.ko mac_mls.ko snd_ess.ko g_audio.ko mac_none.ko snd_fm801.ko g_keyboard.ko mac_partition.ko snd_hda.ko g_modem.ko mac_portacl.ko snd_hdspe.ko g_mouse.ko mac_seeotheruids.ko snd_ich.ko geom_bde.ko mac_stub.ko snd_maestro.ko geom_cache.ko mac_test.ko snd_maestro3.ko geom_ccd.ko mach64.ko snd_mss.ko geom_concat.ko mcd.ko snd_neomagic.ko geom_eli.ko mdio.ko snd_sb16.ko geom_gate.ko mem.ko snd_sb8.ko geom_journal.ko mfi.ko snd_sbc.ko geom_label.ko mfi_linux.ko snd_solo.ko geom_linux_lvm.ko mfip.ko snd_spicds.ko geom_md.ko mga.ko snd_t4dwave.ko geom_mirror.ko miibus.ko snd_uaudio.ko geom_mountver.ko mlx.ko snd_via8233.ko geom_multipath.ko mlx5.ko snd_via82c686.ko geom_nop.ko mlx5en.ko snd_vibes.ko geom_part_apm.ko mly.ko snp.ko geom_part_bsd.ko mmc.ko sound.ko geom_part_bsd64.ko mmcsd.ko speaker.ko geom_part_ebr.ko mpr.ko splash_bmp.ko geom_part_gpt.ko mps.ko splash_pcx.ko geom_part_ldm.ko mpt.ko splash_txt.ko geom_part_mbr.ko mqueuefs.ko sppp.ko geom_part_pc98.ko mrsas.ko star_saver.ko geom_part_vtoc8.ko mrsas_linux.ko sym.ko geom_raid.ko msdosfs.ko systrace.ko geom_raid3.ko msdosfs_iconv.ko systrace_freebsd32.ko geom_sched.ko mvs.ko systrace_linux.ko geom_shsec.ko mw88W8363fw.ko systrace_linux32.ko geom_stripe.ko mxge_eth_z8e.ko sysvmsg.ko geom_uzip.ko mxge_ethp_z8e.ko sysvsem.ko geom_vinum.ko mxge_rss_eth_z8e.ko sysvshm.ko geom_virstor.ko mxge_rss_ethp_z8e.ko t3_tom.ko geom_zero.ko nctgpio.ko t4_tom.ko gpiobus.ko ndis.ko t4fw_cfg.ko gpioiic.ko netgraph.ko t5fw_cfg.ko gpioled.ko nfscl.ko tdfx.ko gpiospi.ko nfscommon.ko tmpfs.ko green_saver.ko nfsd.ko toecore.ko gsched_delay.ko nfslock.ko tpm.ko gsched_rr.ko nfslockd.ko trm.ko h_ertt.ko nfsmb.ko twa.ko hifn.ko nfssvc.ko twe.ko hpt27xx.ko ng_UI.ko tws.ko hptiop.ko ng_async.ko u3g.ko hptmv.ko ng_atm.ko uark.ko hptnr.ko ng_atmllc.ko uart.ko hptrr.ko ng_bluetooth.ko ubsa.ko hv_netvsc.ko ng_bpf.ko ubsec.ko hv_storvsc.ko ng_bridge.ko ubser.ko hv_utils.ko ng_bt3c.ko ubtbcmfw.ko hv_vmbus.ko ng_btsocket.ko uchcom.ko hwpmc.ko ng_car.ko ucom.ko i915.ko ng_ccatm.ko ucycom.ko i915kms.ko ng_cisco.ko udbp.ko ichsmb.ko ng_deflate.ko udf.ko ichwd.ko ng_device.ko udf_iconv.ko ida.ko ng_echo.ko udl.ko if_ae.ko ng_eiface.ko uep.ko if_age.ko ng_etf.ko uether.ko if_alc.ko ng_ether.ko ufm.ko if_ale.ko ng_ether_echo.ko ufoma.ko if_an.ko ng_frame_relay.ko ufs.ko if_ath.ko ng_gif.ko uftdi.ko if_ath_pci.ko ng_gif_demux.ko ugensa.ko if_aue.ko ng_hci.ko ugold.ko if_axe.ko ng_hole.ko uhci.ko if_axge.ko ng_hub.ko uhid.ko if_bce.ko ng_iface.ko uhso.ko if_bfe.ko ng_ip_input.ko uipaq.ko if_bge.ko ng_ipfw.ko ukbd.ko if_bridge.ko ng_ksocket.ko uled.ko if_bwi.ko ng_l2cap.ko ulpt.ko if_bwn.ko ng_l2tp.ko umass.ko if_bwn_pci.ko ng_lmi.ko umcs.ko if_bxe.ko ng_mppc.ko umct.ko if_cas.ko ng_nat.ko umodem.ko if_cdce.ko ng_netflow.ko umoscom.ko if_cs.ko ng_one2many.ko ums.ko if_cue.ko ng_patch.ko unionfs.ko if_cxgb.ko ng_pipe.ko uplcom.ko if_cxgbe.ko ng_ppp.ko urio.ko if_cxl.ko ng_pppoe.ko urtwn-rtl8188eufw.ko if_dc.ko ng_pptpgre.ko urtwn-rtl8192cfwT.ko if_de.ko ng_pred1.ko urtwn-rtl8192cfwU.ko if_disc.ko ng_rfc1490.ko usb.ko if_ed.ko ng_socket.ko usb_quirk.ko if_edsc.ko ng_source.ko usb_template.ko if_em.ko ng_split.ko usfs.ko if_en.ko ng_sppp.ko usie.ko if_enc.ko ng_sscfu.ko uslcom.ko if_ep.ko ng_sscop.ko utopia.ko if_epair.ko ng_tag.ko uvisor.ko if_et.ko ng_tcpmss.ko uvscom.ko if_fatm.ko ng_tee.ko vesa.ko if_fe.ko ng_tty.ko via.ko if_fwe.ko ng_ubt.ko viapm.ko if_fwip.ko ng_uni.ko viawd.ko if_fxp.ko ng_vjc.ko videomode.ko if_gem.ko ng_vlan.ko virtio.ko if_gif.ko ngatmbase.ko virtio_balloon.ko if_gre.ko nmdm.ko virtio_blk.ko if_hatm.ko ntb_hw.ko virtio_console.ko if_hme.ko nullfs.ko virtio_pci.ko if_ic.ko nvd.ko virtio_random.ko if_igb.ko nvme.ko virtio_scsi.ko if_ipheth.ko nvram.ko vkbd.ko if_ipw.ko ohci.ko vmm.ko if_iwi.ko opensolaris.ko vpo.ko if_iwm.ko otusfw_init.ko vxge.ko if_iwn.ko otusfw_main.ko warp_saver.ko if_ix.ko ow.ko wbwd.ko if_ixgb.ko ow_temp.ko wlan.ko if_ixl.ko owc.ko wlan_acl.ko if_ixlv.ko padlock.ko wlan_amrr.ko if_ixv.ko padlock_rng.ko wlan_ccmp.ko if_jme.ko pccard.ko wlan_rssadapt.ko if_kue.ko pcf.ko wlan_tkip.ko if_lagg.ko pf.ko wlan_wep.ko if_le.ko pflog.ko wlan_xauth.ko if_lge.ko pfsync.ko wpifw.ko if_lmc.ko plasma_saver.ko wsp.ko if_malo.ko plip.ko x86bios.ko if_me.ko pmspcv.ko xhci.ko if_mos.ko ppbus.ko zfs.ko if_msk.ko ppc.ko zlib.ko if_mwl.ko ppi.ko if_mxge.ko pps.ko

Using kldstat -v will also show you a complete list of modules available.





# man -k igb



sigblock, sigmask, sigsetmask(2) - manipulate current signal mask

if_igb, igb(4) - Intel(R) PRO/1000 PCI Express Gigabit Ethernet adapter driver



Identify Module is Loaded on Device





Below the status message attached shows device is attached with module meaning the device is up and functional and ready to use.

# pciconf -av igb0



igb0: attached



Extra details on device show as below example.

# pciconf -a -lv igb0



igb0@pci0:1:0:0: class=0x020000 card=0x1f601028 chip=0x15218086 rev=0x01 hdr=0x00

vendor = 'Intel Corporation'

device = 'I350 Gigabit Network Connection'

class = network

subclass = ethernet



Extra Details on Devices





# pciconf -a -lV igb0



igb0@pci0:1:0:0: class=0x020000 card=0x1f601028 chip=0x15218086 rev=0x01 hdr=0x00

VPD ident = 'I350 GbE Controller '

VPD ro V0 = 'FFV13.1.10'

VPD ro PN = 'G10565'

VPD ro MN = '1028'

VPD ro V1 = 'DSV1028VPDR.VER1.0'

VPD ro V3 = 'DTINIC'

VPD ro V4 = 'DCM1001008FC52101008FC53201008FC54301008FC5'

VPD ro V5 = 'NPY4'

VPD ro V6 = 'PMT13'

VPD ro V7 = 'NMVIntel Corp'



# pciconf -a -lc igb0



igb0@pci0:1:0:0: class=0x020000 card=0x1f601028 chip=0x15218086 rev=0x01 hdr=0x00

cap 01[40] = powerspec 3 supports D0 D3 current D0

cap 05[50] = MSI supports 1 message, 64 bit, vector masks

cap 11[70] = MSI-X supports 10 messages, enabled

Table in map 0x1c[0x0], PBA in map 0x1c[0x2000]

cap 10[a0] = PCI-Express 2 endpoint max data 256(512) FLR RO NS

link x4(x4) speed 5.0(5.0) ASPM disabled(L0s/L1)

cap 03[e0] = VPD

ecap 0001[100] = AER 2 0 fatal 0 non-fatal 1 corrected

ecap 0003[140] = Serial 1 bc305bffffee389f

ecap 000e[150] = ARI 1

ecap 0017[1a0] = TPH Requester 1

ecap 0018[1c0] = LTR 1

ecap 000d[1d0] = ACS 1



# pciconf -a -lb igb0



igb0@pci0:1:0:0: class=0x020000 card=0x1f601028 chip=0x15218086 rev=0x01 hdr=0x00

bar [10] = type Memory, range 32, base 0xdcb00000, size 1048576, enabled

bar [18] = type I/O Port, range 32, base 0xfc80, size 32, enabled

bar [1c] = type Memory, range 32, base 0xdcff0000, size 16384, enabled



Loading Interface Modules





# kldload if_igb.ko



OR

# kldload [Options] if_igb.ko



verify loaded module



# kldload -v if_igb



Unloading Modules





# kldunload if_igb



Loading Modules at Boot





Add below line to /etc/rc.conf





if_igb_load="YES"



OR disable driver at boot





if_igb_load="NO"



FreeBSD as Gateway





Adding below line to /etc/rc.conf will turn FreeBSD into a gateway server





gateway_enable="YES" # Set to YES if this host will be a gateway.



Enable Network Polling







Device polling (polling for brevity) refers to a technique that lets the operating system periodically poll devices, instead of relying on the devices to generate interrupts when they need attention. ​



# ifconfig igb0 polling



OR - disable polling





# ifconfig igb0 -polling



Compiling Driver into Kernel





If you want to compile the driver into the kernel, enter:



FreeBSD 7.x or later





Change into source directory of driver

# cd ixgbe-x.x.x/src



Copy *.ch files to directory like below example

# cp *.[ch] /usr/src/sys/dev/ixgbe



Also copy over the Makefile.kernel

# cp Makefile.kernel /usr/src/sys/modules/ixgbe/Makefile



Network Card Names Defined





Driver Name Description ​ bge Broadcom BCM570x/5714/5721/5722/5750/5751/5752/5789 PCI Gigabit Ethernet adapter driver



dc DEC/Intel 21143 and clone 10/100 Ethernet driver



em Intel(R) PRO/1000 Gigabit Ethernet adapter driver



fwe Ethernet emulation driver for FireWire



fwip IP over FireWire driver



fxp Intel EtherExpress PRO/100 Ethernet device driver



ixgb Intel(R) PRO/10GbE Ethernet driver for the FreeBSD operating system



nfe NVIDIA nForce MCP Ethernet driver



nge National Semiconductor PCI Gigabit Ethernet adapter driver



re RealTek 8139C+/8169/816xS/811xS/8101E PCI/PCIe Ethernet adapter driver



rl RealTek 8129/8139 Fast Ethernet device driver



sf Adaptec AIC-6915 \93Starfire\94 PCI Fast Ethernet adapter driver



sis SiS 900, SiS 7016 and NS DP83815/DP83816 Fast Ethernet device driver



ste Sundance Technologies ST201 Fast Ethernet device driver



stge Sundance/Tamarack TC9021 Gigabit Ethernet adapter driver



vge VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter driver



vr VIA Technologies Rhine I/II/III Ethernet device driver



xl 3Com Etherlink XL and Fast Etherlink XL Ethernet device driver

