Begin to add egress / arp support

This commit is contained in:
Nico Schottelius 2019-04-02 17:13:05 +02:00
commit 018e9eef09
3 changed files with 21 additions and 2 deletions

View file

@ -23,6 +23,7 @@ const bit<16> TABLE_V6_NETWORKS = 3;
const bit<16> TABLE_NAT46 = 4;
const bit<16> TABLE_V4_NETWORKS = 5;
const bit<16> TABLE_ARP = 6;
const bit<16> TABLE_ARP_EGRESS = 7;
const bit<16> TYPE_IPV4 = 0x0800;

View file

@ -360,6 +360,19 @@ Echo or Echo Reply Message
default_action = controller_debug_table_id(TABLE_ARP);
}
table v4_arp_egress {
key = {
hdr.arp.dst_ipv4_addr: lpm;
}
actions = {
controller_debug_table_id;
set_egress_port;
NoAction;
}
size = ICMP6_TABLE_SIZE;
default_action = controller_debug_table_id(TABLE_ARP_EGRESS);
}
/********************** ROUTING (egress definiton) TABLES ***********************************/
@ -432,7 +445,10 @@ Echo or Echo Reply Message
}
v4_networks.apply(); /* regular routing, egress */
} else if(hdr.arp.isValid()) {
v4_arp.apply();
if(v4_arp.apply().hit) {
v4_arp_egress.apply();
}
}
}
}