Re: Re: newbie question on enabling vlan feature in the driver
Ben Greear <[email protected]> Wed, 14 Mar 2007 13:36:13 -0700
| Newsgroups | gmane.linux.drivers.vlan |
|---|---|
| Organization | Candela Technologies |
| Message-ID | <[email protected]> |
kmk wrote: > Ben, > > Here is ifconfig -a output from the arm board (modifying the eth driver for > this board to add vlan feature). I used ping -c -s 1496 192.168.55.1 > <http://192.168.55.1> from > the remote pc. It looks like the ARM system is receiving VLAN tags..possibly correctly. Do you see vlan tags when you sniff the physical ethernet interface? Intel's NIC strips the vlan headers (it does hw-accel), so you won't see tags there. As Ard previously said...don't bother to set that vlan register in your NIC and see if it works. Use smaller packet sizes at first to make sure it's not an MTU issue. Ben > > ========================================================================= > ifconfig -a > > eth0 Link encap:Ethernet HWaddr 00:60:CE:12:00:00 > inet addr:169.254.100.2 <http://169.254.100.2> > Bcast:169.254.255.255 <http://169.254.255.255> Mask:255.255.0.0 > <http://255.255.0.0> > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > RX packets:32 errors:10 dropped:0 overruns:0 frame:0 > TX packets:145 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:1000 > RX bytes:2612 (2.5 KiB) TX bytes:16494 (16.1 KiB) > Interrupt:29 > > eth0.2 Link encap:Ethernet HWaddr 00:60:CE:12:00:00 > inet addr:192.168.55.1 <http://192.168.55.1> > Bcast:192.168.55.255 <http://192.168.55.255> Mask:255.255.255.0 > <http://255.255.255.0> > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > RX packets:32 errors:0 dropped:0 overruns:0 frame:0 > TX packets:145 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:0 > RX bytes:2164 (2.1 KiB) TX bytes:16494 ( 16.1 KiB) > > lo Link encap:Local Loopback > inet addr:127.0.0.1 <http://127.0.0.1> Mask:255.0.0.0 > <http://255.0.0.0> > UP LOOPBACK RUNNING MTU:16436 Metric:1 > RX packets:81 errors:0 dropped:0 overruns:0 frame:0 > TX packets:81 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:0 > RX bytes:33090 (32.3 KiB) TX bytes:33090 ( 32.3 KiB) > > # cat /proc/n# cat /proc/net/vl# cat /proc/net/vlan/e# cat > /proc/net/vlan/eth0.2 > eth0.2 VID: 2 REORDER_HDR: 1 dev->priv_flags: 1 > total frames received 32 > total bytes received 2164 > Broadcast/Multicast Rcvd 0 > > total frames transmitted 145 > total bytes transmitted 16494 > total headroom inc 0 > total encap on xmit 145 > Device: eth0 > INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 > EGRESSS priority Mappings: > # > ========================================================================== > > > Here is the ifconfig -a output from the remote pc (e1000 with vlan enabled) > > eth0 Link encap:Ethernet HWaddr 00:0B:DB:5C:55:B8 > inet addr:169.254.100.1 <http://169.254.100.1> > Bcast:169.254.255.255 <http://169.254.255.255> Mask: 255.255.0.0 > <http://255.255.0.0> > inet6 addr: fe80::20b:dbff:fe5c:55b8/64 Scope:Link > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > RX packets:0 errors:0 dropped:0 overruns:0 frame:0 > TX packets:12 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:100 > RX bytes:0 (0.0 b) TX bytes:1008 (1008.0 b) > Base address:0xdcc0 Memory:ff6e0000-ff700000 > > eth0.2 Link encap:Ethernet HWaddr 00:0B:DB:5C:55:B8 > inet addr:192.168.55.2 <http://192.168.55.2> > Bcast:192.168.55.255 <http://192.168.55.255> Mask:255.255.255.0 > <http://255.255.255.0> > inet6 addr: fe80::20b:dbff:fe5c:55b8/64 Scope:Link > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > RX packets:0 errors:0 dropped:0 overruns:0 frame:0 > TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:0 > RX bytes:0 (0.0 b) TX bytes:468 (468.0 b) > > lo Link encap:Local Loopback > inet addr:127.0.0.1 <http://127.0.0.1> Mask:255.0.0.0 > <http://255.0.0.0> > inet6 addr: ::1/128 Scope:Host > UP LOOPBACK RUNNING MTU:16436 Metric:1 > RX packets:0 errors:0 dropped:0 overruns:0 frame:0 > TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:0 > RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) > > eth0.2 VID: 2 REORDER_HDR: 1 dev->priv_flags: 1 > total frames received 2 > total bytes received 84 > Broadcast/Multicast Rcvd 0 > > total frames transmitted 12 > total bytes transmitted 3696 > total headroom inc 0 > total encap on xmit 0 > Device: eth0 > INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0 > EGRESSS priority Mappings: > > > > > > On 3/14/07, *kmk* <[email protected] <mailto:[email protected]>> wrote: > > Ben, I enabled vlan in the eth mac by writing to vlan1tag and adjust > mtu to handle > vlan. Now, when I ping from a remote pc which also has vlan enabled > interface, > I don't see vlan tags in the frames. Same issue if I ping the remote > PC. Basically, > I don't see vlan tag in tx/rx directions. > > > /kmk > > On 3/13/07, *Muthu Kumar* < [email protected] > <mailto:[email protected]>> wrote: > > Ben, > > Thanks for your response. The mac data sheet says, when 0x8100 > is written to the > van1_tag register, the mac compares 13th & 14th bytes of > incoming frame and, if it > finds a match, it sets vlan1 bit in rx status register. However, > this particular status > bit is not actually exposed to driver access. The documentation > could be wrong. > > Other than the above, no behaviour changes. In this case, I just > simply ensure > that the driver/chip can handle MTU + 4 bytes? No need to enable > NETIF_VLAN_HW_TX/RX > and related callbacks? > > By the way, I don't see my postings @ > http://ns2.lanforge.com/pipermail/vlan/2007-March/thread.html > <http://ns2.lanforge.com/pipermail/vlan/2007-March/thread.html>. > > Thanks > /kmk > > > On 3/13/07, *Muthu Kumar* < [email protected] > <mailto:[email protected]>> wrote: > > 'm trying to enable VLAN in my eth driver. The eth mac supports > vlan processing and has a register (vlantag1) that should be > written > with 0x8100 to enable VLAN processing. Other than this, the > mac does > not have any other vlan related registers or anything else. > It does not give > any indication during rx if VLAN pkts received. > > How do I enable VLAN in my driver for such a MAC? I'm basically > confused with all the callbacks such as vlan_rx_register etc > most > drivers support. > > Currently, in my driver I've enabled the features > NETIF_VLAN_HW_TX/RX > and providing the above callbacks. But I'm not sure whether > these flags > are applicable to my driver. > > what else I need to do? I'm kinda stuck here. Any help would > be highly > appreciated. > > thx > /kmk > > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Vlan mailing list > [email protected] > http://www.candelatech.com/mailman/listinfo/vlan -- Ben Greear <[email protected]> Candela Technologies Inc http://www.candelatech.com