• Taehee Yoo's avatar
    net: rmnet: fix packet forwarding in rmnet bridge mode · ad3cc31b
    Taehee Yoo authored
    Packet forwarding is not working in rmnet bridge mode.
    Because when a packet is forwarded, skb_push() for an ethernet header
    is needed. But it doesn't call skb_push().
    So, the ethernet header will be lost.
    
    Test commands:
        modprobe rmnet
        ip netns add nst
        ip netns add nst2
        ip link add veth0 type veth peer name veth1
        ip link add veth2 type veth peer name veth3
        ip link set veth1 netns nst
        ip link set veth3 netns nst2
    
        ip link add rmnet0 link veth0 type rmnet mux_id 1
        ip link set veth2 master rmnet0
        ip link set veth0 up
        ip link set veth2 up
        ip link set rmnet0 up
        ip a a 192.168.100.1/24 dev rmnet0
    
        ip netns exec nst ip link set veth1 up
        ip netns exec nst ip a a 192.168.100.2/24 dev veth1
        ip netns exec nst2 ip link set veth3 up
        ip netns exec nst2 ip a a 192.168.100.3/24 dev veth3
        ip netns exec nst2 ping 192.168.100.2
    
    Fixes: 60d58f97 ("net: qualcomm: rmnet: Implement bridge mode")
    Signed-off-by: default avatarTaehee Yoo <ap420073@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ad3cc31b
rmnet_handlers.c 5.12 KB