Reading hostname.if(5) and ifconfig(8) again, I understand that commands in hostname.if are executed by ifconfig. Of interest here is the ifconfig command "group"; hostname.if(8) does not say a word about this command, but it should work. Of special interest here is the group "egress". hostname.if(5) does not say a word about "egress"; this is not a critique, it is just a note on the fact. On its turn, ifconfig(8) mentions "egress", twice, only in reference to the command "group":
> a group could be used to create a hardware independent pf(4) ruleset (i.e. > not one based on the names of NICs) using existing (egress, carp, etc.) or > user-defined groups. > The interfaces the default routes point to are members of the "egress" > interface group. Does it work? In the following case study, /etc/hostname.ix0 contains the command "group lan", and ix0 is assigned to group "lan" as a consequence. This means that the command "group" works in hostname.if. The command does not work for group "egress" however. Since em0 is wired to the gateway, em0 is the interface the default route points to, and therefore it should be assigned to egress. What follows is evidence of the fact that this does not happen. Note that the interface ix0 is wired to the switch, its /etc/hostname.ix0 puts it in group "lan", it shows up in groups "lan" correctly, but it also shows up in group "egress" all by itself. You may say that perhaps the gateway has a wire to the switch as well. You are correct. The wire is needed because this is how this network works at this time. The OpenBSD firewall needs to be configured on the existing network before entering production mode in the existing network: the only change allowed will be the detachment of the wire that currently joins the gateway to the switch. ----------------------------------------------------- 192.168.1.1/24 is the LAN 192.168.1.1: gateway 192.168.1.4: em0 wire connected to gateway 192.168.1.5: em1 down 192.168.1.6: ix0 wire connected to switch 192.168.1.7: ix1 down > ifconfig lo0: flags=2008049<UP,LOOPBACK,RUNNING,MULTICAST,LRO> mtu 32768 index 6 priority 0 llprio 3 groups: lo inet 127.0.0.1 netmask 0xff000000 ix0: flags=2008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LRO> mtu 1500 lladdr ac:1f:6b:6d:1e:18 index 1 priority 0 llprio 3 groups: lan egress media: Ethernet autoselect (10GSFP+Cu full-duplex,rxpause,txpause) status: active inet 192.168.1.6 netmask 0xffffff00 broadcast 192.168.1.255 ix1: flags=2008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LRO> mtu 1500 lladdr ac:1f:6b:6d:1e:19 index 2 priority 0 llprio 3 groups: lan media: Ethernet autoselect status: no carrier inet 192.168.1.7 netmask 0xffffff00 broadcast 192.168.1.255 em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr ac:1f:6b:6d:1c:88 index 3 priority 0 llprio 3 media: Ethernet autoselect (1000baseT full-duplex,rxpause) status: active inet 192.168.1.4 netmask 0xffffff00 broadcast 192.168.1.255 em1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 lladdr ac:1f:6b:6d:1c:89 index 4 priority 0 llprio 3 media: Ethernet autoselect (none) status: no carrier inet 192.168.1.5 netmask 0xffffff00 broadcast 192.168.1.255 enc0: flags=0<> index 5 priority 0 llprio 3 groups: enc status: active pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33136 index 7 priority 0 llprio 3 groups: pflog > netstat -r -n Routing tables Internet: Destination Gateway Flags Refs Use Mtu Prio Iface default 192.168.1.1 UGS 4 74 - 8 ix0 224/4 127.0.0.1 URS 0 4 32768 8 lo0 127/8 127.0.0.1 UGRS 0 0 32768 8 lo0 127.0.0.1 127.0.0.1 UHhl 3 85 32768 1 lo0 192.168.1/24 192.168.1.6 UCn 1 97 - 4 ix0 192.168.1/24 192.168.1.4 UCPn 0 2 - 4 em0 192.168.1/24 192.168.1.5 CPn 0 0 - 4 em1 192.168.1/24 192.168.1.7 CPn 0 0 - 4 ix1 192.168.1.1 14:49:bc:16:6c:a8 UHLch 1 39 - 3 ix0 192.168.1.4 ac:1f:6b:6d:1c:88 UHLl 0 43 - 1 em0 192.168.1.5 ac:1f:6b:6d:1c:89 UHLl 0 0 - 1 em1 192.168.1.6 ac:1f:6b:6d:1e:18 UHLl 0 7 - 1 ix0 192.168.1.7 ac:1f:6b:6d:1e:19 UHLl 0 0 - 1 ix1 192.168.1.255 192.168.1.6 UHb 0 642 - 1 ix0 192.168.1.255 192.168.1.4 UHPb 0 0 - 1 em0 192.168.1.255 192.168.1.5 HPb 0 0 - 1 em1 192.168.1.255 192.168.1.7 HPb 0 0 - 1 ix1 > route -n get default route to: 0.0.0.0 destination: 0.0.0.0 mask: 0.0.0.0 gateway: 192.168.1.1 interface: ix0 if address: 192.168.1.6 priority: 8 (static) flags: <UP,GATEWAY,DONE,STATIC> use mtu expire 74 0 0