-
Notifications
You must be signed in to change notification settings - Fork 103
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
pcn_pkt_controller_with_metada_stack() API is supposed to send the packet to both the controller and stack, but in existing implementation the packet was only sent to the controller and packet was dropped in stack.
To Reproduce
Steps to reproduce the behavior:
- Go to src/services/pcn-transparent-helloworld/src
- Modify file TransparentHelloworld_dp_ingress.c replacing pcn_pkt_controller with pcn_pkt_controller_with_metadata_stack(), you need add one more parameter: uint32_t metadata[3] to make it compilable
- compile the code and execute the polycubed, create a transparent hello world cube, set the cube to slow path action and attach the cube to a interface
- before attach ping the interface is working, after attaching ping doesn't work
Expected behavior
after attach the cube the interface, ping should still works
Please tell us about your environment:
- OS details: Ubuntu 18.04.1 LTS
- Kernel details: 5.2.0-050200-generic
- Polycube Version: b84e3b2
Additional context
the problem is that to_stack flag carried by skb->cb[0] was overwritten when handle_rx returns RX_CONTROLLER,
case RX_CONTROLLER:
skb->cb[0] = CUBE_ID | TYPE << 16;
return to_controller(skb, md.reason);
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working