On Fri, Apr 6, 2018 at 4:40 PM, Aham Brahmasmi <[email protected]> wrote:
> Hello misc,
>
> Problem
> A physical server with a switch (add em0 up) cannot access the internet.
> However, the same host with a bridge (add em0 up) can access the
> internet.
>
> Steps
> $ ifconfig
> em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         lladdr 22:22:22:22:22:22
>         index 1 priority 0 llprio 3
>         groups: egress
>         media: Ethernet autoselect (1000baseT full-duplex,master)
>         status: active
>         inet 20.20.20.20 netmask 0xffffff00 broadcast 20.20.20.255
> ...
> $ doas route -n show
> Routing tables
>
> Internet:
> Destination     Gateway            Flags   Refs      Use   Mtu  Prio Iface
> default         20.20.20.1         UGS        0     1XXX     -     8 em0
> 224/4           127.0.0.1          URS        0        0 32768     8 lo0
> 127/8           127.0.0.1          UGRS       0        0 32768     8 lo0
> 127.0.0.1       127.0.0.1          UHhl       1        X 32768     1 lo0
> 20.20.20/24     20.20.20.20        UCn        1      9XX     -     4 em0
> 20.20.20.1      33:33:33:33:33:33  UHLch      1     1XXX     -     3 em0
> 20.20.20.20     44:44:44:44:44:44  UHLl       0        X     -     1 em0
> 20.20.20.255    20.20.20.20        UHb        0        0     -     1 em0
> $ ping 8.8.8.8
> PING 8.8.8.8 (8.8.8.8): 56 data bytes
> 64 bytes from 8.8.8.8: icmp_seq=0 ttl=61 time=x.xxx ms
> ...
> $ doas ifconfig switch0 create
> $ doas ifconfig switch0 add em0
> $ doas ifconfig switch0 up
> $ ping 8.8.8.8
> PING 8.8.8.8 (8.8.8.8): 56 data bytes
> ^C
> --- 8.8.8.8 ping statistics ---
> 31 packets transmitted, 0 packets received, 100.0% packet loss

Hi,

Seems you haven't started switchd(8), or connected your switch to it
-- it shouldn't forward traffic until you do so.

> $ ifconfig
> em0: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 
> 1500
>         lladdr 22:22:22:22:22:22
>         index 1 priority 0 llprio 3
>         groups: egress
>         media: Ethernet autoselect (1000baseT full-duplex,master)
>         status: active
>         inet 20.20.20.20 netmask 0xffffff00 broadcast 20.20.20.255
> switch0: flags=41<UP,RUNNING>
>         index 6 llprio 3
>         groups: switch
>         datapath xxxxxxxxxxxxxxxxxx maxflow 10000 maxgroup 1000
>         em0 flags=0<>
>                 port 1 ifpriority 0 ifcost 0
> ...
> $ doas route -n show
> Routing tables
>
> Internet:
> Destination     Gateway            Flags   Refs      Use   Mtu  Prio Iface
> default         20.20.20.1         UGS        0     1XXX     -     8 em0
> 224/4           127.0.0.1          URS        0        0 32768     8 lo0
> 127/8           127.0.0.1          UGRS       0        0 32768     8 lo0
> 127.0.0.1       127.0.0.1          UHhl       1        X 32768     1 lo0
> 20.20.20/24     20.20.20.20        UCn        1      9XX     -     4 em0
> 20.20.20.1      33:33:33:33:33:33  UHLch      1     1XXX     -     3 em0
> 20.20.20.20     44:44:44:44:44:44  UHLl       0        X     -     1 em0
> 20.20.20.255    20.20.20.20        UHb        0        0     -     1 em0
> $ doas ifconfig switch0 destroy
> $ ping 8.8.8.8
> PING 8.8.8.8 (8.8.8.8): 56 data bytes
> 64 bytes from 8.8.8.8: icmp_seq=0 ttl=61 time=x.xxx ms
>
> Repeating the above steps with bridge0 does let the ping pass through
> after the bridge is brought up. The only delta between the switch and
> bridge output is in the ifconfig.
> $ ifconfig
> bridge0: flags=41<UP,RUNNING>
>         index 8 llprio 3
>         groups: bridge
>         priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rtsp
>         em0 flags=3<LEARNING,DISCOVER>
>                 port 1 ifpriority 0 ifcost 0
> ...
>
> I have run "doas route -n monitor" in a separate session while doing
> this. However, I cannot comprehend the output. pf is not involved -
> running tcpdump -nettti pflog0 with the catchall "block log" produces
> the normal output of blocked packets with the bridge. However, it stops
> producing the normal output of blocked packets with the switch. Once the
> switch is destroyed, it is back to normal blocked packets output.
>
> What am I doing wrong/missing? The only thing that stands out to me is
> the em0 flags=0<> line in the ifconfig for the switch. And I do not know
> what to make of it.
>
> Regards,
> ab
> ---------|---------|---------|---------|---------|---------|---------|--
>

Reply via email to