On 28/04/2016 05:07, Jeremy wrote: > On Tue, 26 Apr 2016 17:53:32 -0500 > Adam Thompson <athom...@athompso.net> wrote: >> If all else fails, run "ifconfig em2 up", and then "tcpdump -i em2 >> -vvvv -l -n" and see what, if any, traffic is coming from the ONT on >> the raw ethernet port (this will include the VLAN 10 packets, too). >> If you're lucky, something it emits will give you a clue. >> -Adam > > OK, so I have heard from my ISP that I need to use PPPoE. > > My config is now: > # cat hostname.em2 > up > > #cat hostname.vlan10 > up vlan 10 vlandev em2 > > #cat /etc/hostname.pppoe0 > !/sbin/ifconfig em2 up > !/sbin/ifconfig vlan10 up > inet 0.0.0.0 255.255.255.255 NONE \ > pppoedev vlan10 \ > authproto pap \ > authname "xxxxxxx" \ > authkey "xxxxxx" > dest 0.0.0.1 > > > ifconfig shows me the following: > # ifconfig > em2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > lladdr 00:11:0a:08:01:57 > priority: 0 > media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause) > status: active > vlan10: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > lladdr 00:11:0a:08:01:57 > priority: 0 > vlan: 10 parent interface: em2 > groups: vlan > status: active > pppoe0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1492 > priority: 0 > dev: vlan10 state: PADI sent > sid: 0x0 PADI retries: 25 PADR retries: 0 > sppp: phase establish authproto pap authname "medix21" > groups: pppoe > status: no carrier > inet 0.0.0.0 --> 0.0.0.1 netmask 0xffffffff > > > Finally running tcpdump on the em2 physical port shows this: > # tcpdump -nettti em2 -vvvv -l -n > tcpdump: listening on em2, link-type EN10MB > Apr 28 14:58:26.088559 00:11:0a:08:01:57 ff:ff:ff:ff:ff:ff 8100 36: 802.1Q > vid 10 pri 3 PPPoE-Discovery > code Initiation, version 1, type 1, id 0x0000, length 12 > tag Service-Name, length 0 > tag Host-Uniq, length 4 w\257\323\236 > Apr 28 14:59:26.281326 00:11:0a:08:01:57 ff:ff:ff:ff:ff:ff 8100 36: 802.1Q > vid 10 pri 3 PPPoE-Discovery > code Initiation, version 1, type 1, id 0x0000, length 12 > tag Service-Name, length 0 > tag Host-Uniq, length 4 w\257\323\236 > ... > > > It looks to me like I cannot contact the PPPoE auth service. > Note: I have tried this with the pppoedev set to both the > physical em2 interface and the vlan10 interface with the same > result. Either I'm connecting to the wrong port on the ONT or > I'm missing a further piece of the puzzle. >
Supposing it is the correct port, this looks exactly like the problem I had with the vlan prio field not being 0 and the provider not ignoring it. Try if this patch helps, it makes the vlan prio field be 0 all the time: Index: net/if_vlan.c =================================================================== RCS file: /cvs/src/sys/net/if_vlan.c,v retrieving revision 1.151 diff -u -p -r1.151 if_vlan.c --- net/if_vlan.c 13 Jan 2016 03:18:26 -0000 1.151 +++ net/if_vlan.c 28 Apr 2016 05:11:34 -0000 @@ -270,8 +270,7 @@ vlan_start(struct ifnet *ifp) */ } else if ((p->if_capabilities & IFCAP_VLAN_HWTAGGING) && (ifv->ifv_type == ETHERTYPE_VLAN)) { - m->m_pkthdr.ether_vtag = ifv->ifv_tag + - (prio << EVL_PRIO_BITS); + m->m_pkthdr.ether_vtag = ifv->ifv_tag; m->m_flags |= M_VLANTAG; } else { struct ether_vlan_header evh; @@ -279,8 +278,7 @@ vlan_start(struct ifnet *ifp) m_copydata(m, 0, ETHER_HDR_LEN, (caddr_t)&evh); evh.evl_proto = evh.evl_encap_proto; evh.evl_encap_proto = htons(ifv->ifv_type); - evh.evl_tag = htons(ifv->ifv_tag + - (prio << EVL_PRIO_BITS)); + evh.evl_tag = htons(ifv->ifv_tag); m_adj(m, ETHER_HDR_LEN); M_PREPEND(m, sizeof(evh), M_DONTWAIT); if (m == NULL) {