Hi vpp devs, After this patch in VPP: https://gerrit.fd.io/r/#/c/15759/ our DHCP relay tests started to fail. The configuration seems to be written correctly (same as before, commands for VPP on DUT1 in attachment), but when actual packet is received the vpp seems to crash. Sometimes there are postmortem api files generated but I haven't seen a core dump file. VPP is restarted for sure. It has different PID afterwards and configuration is lost. What I managed to figure out is that it happens after DHCP option 82 packet is sent from TG to DUT1 (attached). Topology: # +------+ +-----+ port1 # | | port1 port3 | +------+ # | DUT1 +-----------------+ TG | | # | +-----------------+ +------+ # | | port2 port4 | | port2 # +-+-+--+ +-+-+-+
The packet is sent from port3 on TG, then it passes to DUT1 where vpp is running and has both ports enabled and IP assigned. The other port on TG is running a DHCP server. VPP is set as a DHCP relay to pass the requests sent from port3 on TG to port4 on TG where DHCP server is running. But as I said vpp crashes when the packet is received. I tried to run it with "dut1 vpp commands.txt" configuration on clean vpp. After the same packet is sent VPP crashes. So this is the only configuration needed to replicate this behavior on such setup. I used the script provided by CSIT to generate the packet https://gerrit.fd.io/r/gitweb?p=csit.git;a=blob;f=resources/traffic_scripts/dhcp/send_and_check_proxy_discover.py;h=d8089713fd10643f92d178bbe024cf4b04ed7e94;hb=refs/heads/master The command looks like this: sudo -S sh -c "cd ~/openvpp-testing; virtualenv --system-site-packages --never-download env && export PYTHONPATH=\${PWD}; . \${PWD}/env/bin/activate; resources/traffic_scripts/dhcp/send_and_check_proxy_messages.py --tx_if enp0s17 --rx_if enp0s16 --server_ip 192.168.0.100 --server_mac 08:00:27:20:b0:38 --client_ip 172.16.0.2 --client_mac 08:00:27:62:73:6e --proxy_ip 172.16.0.1" Can someone take a look? Thanks Michal [https://www.cisco.com/c/dam/m/en_us/signaturetool/images/banners/standard/06_standard_graphic.png] Michal Cmarada Engineer - Software mcmar...@cisco.com<mailto:mcmar...@cisco.com> Tel: Cisco Systems, Inc. Slovakia cisco.com [http://www.cisco.com/assets/swa/img/thinkbeforeyouprint.gif] Think before you print. This email may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply email and delete all copies of this message. Please click here<http://www.cisco.com/c/en/us/about/legal/terms-sale-software-license-agreement/company-registration-information.html> for Company Registration Information.
Sending packet out of ens7 of len 286 ###[ Ethernet ]### dst = ff:ff:ff:ff:ff:ff src = fa:16:3e:2b:11:9e type = 0x800 ###[ IP ]### version = 4L ihl = 5L tos = 0x0 len = 272 id = 1 flags = frag = 0L ttl = 64 proto = udp chksum = 0x79dd src = 0.0.0.0 dst = 255.255.255.255 \options \ ###[ UDP ]### sport = bootpc dport = bootps len = 252 chksum = 0x889 ###[ BOOTP ]### op = BOOTREQUEST htype = 1 hlen = 6 hops = 0 xid = 0 secs = 0 flags = ciaddr = 0.0.0.0 yiaddr = 0.0.0.0 siaddr = 0.0.0.0 giaddr = 0.0.0.0 chaddr = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' sname = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' file = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' options = 'c\x82Sc' ###[ DHCP options ]### options = [message-type=discover end]
dut1:~$ sudo vppctl set int ip address GigabitEthernet0/9/0 192.168.0.1/24 dut1:~$ sudo vppctl set int state GigabitEthernet0/9/0 up dut1:~$ sudo vppctl set int ip address GigabitEthernet0/a/0 172.16.0.1/24 dut1:~$ sudo vppctl set int state GigabitEthernet0/a/0 up dut1:~$ vppctl set dhcp proxy server 192.168.0.100 src-address 172.16.0.1 clib_socket_init: connect (fd 3, '/run/vpp/cli.sock'): Permission denied dut1:~$ sudo vppctl set dhcp proxy server 192.168.0.100 src-address 172.16.0.1 dut1:~$ sudo vppctl sh int address GigabitEthernet0/10/0 (dn): GigabitEthernet0/11/0 (dn): GigabitEthernet0/9/0 (up): L3 192.168.0.1/24 GigabitEthernet0/a/0 (up): L3 172.16.0.1/24 local0 (dn): dut1:~$ sudo vppctl sh dhcp proxy RX FIB Src Address Servers FIB,Address 0 172.16.0.1 0,192.168.0.100
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#11381): https://lists.fd.io/g/vpp-dev/message/11381 Mute This Topic: https://lists.fd.io/mt/28292147/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-