Try to outsmart the compiler with the arp table

Adressing

p4c --target bmv2 --arch v1model --std p4-16 "../p4src/static-mapping.p4" -o "/home/p4/master-thesis/p4src"
../p4src/static-mapping.p4(366): error: Program is not supported by this target, because table MyIngress.v6_networks has multiple successors
    table v6_networks {
          ^^^^^^^^^^^
Compilation Error
This commit is contained in:
Nico Schottelius 2019-03-31 16:40:44 +02:00
parent 26605a43e7
commit 30dcc0af81
2 changed files with 10 additions and 3 deletions

View file

@ -640,7 +640,7 @@ From 10.0.0.1 icmp_seq=1 Destination Host Unreachable
root@ubuntu:~#
***** DONE try7: checkout dump from ping4_gw-2019-03-31-0916-h3.pcap: regular arp
***** TODO Get a real world arp trace
***** DONE Get a real world arp trace
root@line:/home/nico/vcs/master-thesis/pcap# tcpdump -ni wlan0 -w ping4_realworld_p7 icmp or arp or host 192.168.4.1
tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
root@line:~# arp -an
@ -655,6 +655,14 @@ rtt min/avg/max/mdev = 15.533/15.533/15.533/0.000 ms
root@line:~#
***** TODO Implement default route handling, maybe implement ARP?
****** DONE create arp table
****** TODO Multiple tables not supported
p4c --target bmv2 --arch v1model --std p4-16 "../p4src/static-mapping.p4" -o "/home/p4/master-thesis/p4src"
../p4src/static-mapping.p4(366): error: Program is not supported by this target, because table MyIngress.v6_networks has multiple successors
table v6_networks {
^^^^^^^^^^^
Compilation Error
****** Entry in v4_networks?
**** DONE Add table name support in debug messages
**** DONE Why getting IPv6 packets in

View file

@ -431,8 +431,7 @@ Echo or Echo Reply Message
exit;
}
v4_networks.apply(); /* regular routing, egress */
}
if(hdr.arp.isValid()) {
} else if(hdr.arp.isValid()) {
v4_arp.apply();
}
}