On the arm side, in my driver, I cast skb->data to vlan_ethhdr and dumping it
from hard_xmit and receive routines. I don't see correct h_vlan_proto value.
I see only 0x806 and 0x800 when I ping from either direction. I tried
both small packets and large packets (512, 1496).
On the PC, I used ethereal to sniff the physical interface and again I don't
see vlan tags in both ping requests/responses and in ARP queries.
/kmk
On 3/14/07, kmk <km7kumar@xxxxxxxxx> 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 from
the remote pc.
=========================================================================
ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:60:CE:12:00:00
inet addr: 169.254.100.2 Bcast:169.254.255.255 Mask: 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 Bcast: 192.168.55.255 Mask: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 Mask: 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 Bcast: 169.254.255.255 Mask: 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 Bcast: 192.168.55.255 Mask: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 Mask: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 < km7kumar@xxxxxxxxx> 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.
/kmkOn 3/13/07, Muthu Kumar < km7kumar@xxxxxxxxx> 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 .
Thanks
/kmkOn 3/13/07, Muthu Kumar < km7kumar@xxxxxxxxx> 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 Vlan@xxxxxxxxxxxxxxx http://www.candelatech.com/mailman/listinfo/vlan