Thread (14 messages) 14 messages, 4 authors, 2011-02-09

Re: Realtek r8168C / r8169 driver VLAN TAG stripping

flat view

From: Anand Raj Manickam <hidden>
Date: 2011-01-28 01:40:23

On Thu, Jan 27, 2011 at 10:20 PM, Francois Romieu [off-list ref] wrote:
Anand Raj Manickam [off-list ref] :
quoted
On Thu, Jan 27, 2011 at 8:37 PM, Francois Romieu [off-list ref] wrote:
quoted
Anand Raj Manickam [off-list ref] :
[...]
quoted
quoted
- ip addr show
3: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:17:54:00:f6:62 brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.1/16 brd 172.16.255.255 scope global eth0
    inet6 fe80::217:54ff:fe00:f662/64 scope link
       valid_lft forever preferred_lft forever

8: eth0.50@eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc noqueue
    link/ether 00:17:54:00:f6:62 brd ff:ff:ff:ff:ff:ff
    inet 172.16.10.10/24 brd 172.16.10.255 scope global eth0.50
    inet6 fe80::217:54ff:fe00:f662/64 scope link
       valid_lft forever preferred_lft forever
Could you try again after issuing :

ip addr del 172.16.1.1/16 brd 172.16.255.255 dev eth0

I did try this NO luck ;-(


then send the unabbreviated "ip addr show" and "ip route show all" if
things do not perform better.
 ip addr show
1: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: sit0: <NOARP> mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0
3: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:17:54:00:f6:62 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::217:54ff:fe00:f662/64 scope link
       valid_lft forever preferred_lft forever
4: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:17:54:00:f6:63 brd ff:ff:ff:ff:ff:ff
5: eth2: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:30:67:09:2c:b9 brd ff:ff:ff:ff:ff:ff
    inet 10.1.1.2/24 brd 10.1.1.255 scope global eth2
    inet6 fe80::230:67ff:fe09:2cb9/64 scope link
       valid_lft forever preferred_lft forever
6: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ether 00:17:54:00:65:6b brd ff:ff:ff:ff:ff:ff
7: eth4: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:17:54:00:65:6a brd ff:ff:ff:ff:ff:ff
    inet 192.168.138.155/24 brd 192.168.138.255 scope global eth4
    inet6 fe80::217:54ff:fe00:656a/64 scope link
       valid_lft forever preferred_lft forever
8: eth0.50@eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc noqueue
    link/ether 00:17:54:00:f6:62 brd ff:ff:ff:ff:ff:ff
    inet 172.16.10.10/24 brd 172.16.10.255 scope global eth0.50
    inet6 fe80::217:54ff:fe00:f662/64 scope link
       valid_lft forever preferred_lft forever

(no iptables / ip rules wizardry, right ?)

[...]
quoted
quoted
- ethtool -k eth0
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: off
scatter-gather: off
tcp segmentation offload: off
udp fragmentation offload: off
generic segmentation offload: off
Ok.

[...]
quoted
quoted
I do not get the "VLAN tag gets stripped" concept, especially on Tx.
Does it mean "no packet" or "a packet whose content is wrong" ?
Sorry for not being clear ;-)

When we transmit a packet with VLAN TAG , the TAG get stripped when
transmitted through the device , the other end trunk port / sniffer
does NOT see a TAG.
Similarly , when a VLAN Tagged packet is sent from the other end , The
TAG gets stripped by the device , We DONOT see the tag .
But the data flows in both directions, right ?
quoted
I use tcpdump -i eth0 -n -nn -e vlan 50
to see if the packets are gettin tagged or NOT .

The same config works on forcedeth
What do you call "same config" ?
The Same setup below works on forcedeth driver
I am mildly convinced that your config is simple enough to isolate a
driver level vlan problem.
The reason why i m sure its on the Driver / Chipset is this ..

The 8021q module is loaded .
vconfig add eth0 50
ifconfig eth0.50 172.16.1.10 up

ping -I eth0.50 172.16.1.1 .

All packets on Tx & Rx have the VLAN tag stripped on Tx & Rx.

On debugging the Driver , we found that on Tx the VLAN tag is present.

static int rtl8169_start_xmit(struct sk_buff *skb, struct net_device *dev)
{
.
.
tp->tx_skb[entry].len = len;
txd->addr = cpu_to_le64(mapping);
txd->opts2 = cpu_to_le32(rtl8169_tx_vlan_tag(tp, skb));
printk("The Vlan tag %x \n",txd->opts2);
.
.
}

The Vlan tag 23200

In the above value 23200
2 - TxVlanTag
32 - Vlan tag (50).

From the above we are clear that the Vlan tag reaches the driver .






--
Ueimor
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help