-
Notifications
You must be signed in to change notification settings - Fork 104
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
pcn_pkt_redirect doesn't work in xdp standard cubes when a transparent service is attached to the destination interface
To Reproduce
Using router and transparenthelloworld (but the same applies to other services).
Setup the router:
polycubectl router add r1 type=xdp_drv loglevel=trace
polycubectl r1 ports add p1 peer=<physical_iface> ip=10.0.0.2/24
Trying to ping 10.0.0.2 from an host connected to the router port works fine.
Add a transparent service:
polycubectl transparenthelloworld add th1 type=xdp_drv
polycubectl attach th1 r1:p1
Clear the arp cache on the source host (since the arp reply in the router is the operation that requires a pcn_pkt_redirect):
sudo ip -s -s neigh flush all
Pinging 10.0.0.2 no longer works.
Expected behavior
Ping should work normally.
Please tell us about your environment:
- OS details: Ubuntu 18.04.4 LTS
- Kernel details: 5.5.0-050500-generic
Additional context
Looking at the log of the router, instead of being sent out of the interface, the ARP Reply packet is sent back to the router dataplane code, with a nonexistent port as in port:
[2020-03-11 10:24:31.957] [Transparenthelloworld] [th1] [debug] Ingress: passing packet
[2020-03-11 10:24:31.957] [Router] [r1] [trace] in_port: 0, proto: 0x806, mac_src: 00:e0:ed:22:ee:e4 mac_dst: ff:ff:ff:ff:ff:ff
[2020-03-11 10:24:31.957] [Router] [r1] [debug] somebody is asking for my address
[2020-03-11 10:24:31.957] [Router] [r1] [trace] in_port: 3, proto: 0x806, mac_src: 00:e0:ed:22:6a:46 mac_dst: 00:e0:ed:22:ee:e4
[2020-03-11 10:24:31.957] [Router] [r1] [error] received packet from non valid port: 3
[2020-03-11 10:24:31.957] [Router] [r1] [trace] in: 3 out: -- DROP
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working