Nico Schottelius
d87b897069
Add icmp handling / replying
2019-04-03 10:52:25 +02:00
Nico Schottelius
fdf828d687
Do not not not double swap
2019-04-03 10:21:40 +02:00
Nico Schottelius
fbe8e66431
Make arp swapping more readable, --BUG
2019-04-02 17:42:56 +02:00
Nico Schottelius
6e22465ae4
Update arp processing for ethernet
2019-04-02 17:22:21 +02:00
Nico Schottelius
16a1620002
Also emit the arp header
2019-04-02 17:16:17 +02:00
Nico Schottelius
018e9eef09
Begin to add egress / arp support
2019-04-02 17:13:05 +02:00
Nico Schottelius
30dcc0af81
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
2019-03-31 16:40:44 +02:00
Nico Schottelius
26605a43e7
Arp is not IPv4
2019-03-31 16:37:21 +02:00
Nico Schottelius
5097f9dbd1
+action for arp table
2019-03-31 15:55:57 +02:00
Nico Schottelius
d8d7591647
+header arp
2019-03-31 15:50:07 +02:00
Nico Schottelius
07f0867175
Begin to introduce arp support
2019-03-31 15:48:00 +02:00
Nico Schottelius
801b4d818e
Fix total_length by adding 15 bytes
2019-03-30 18:11:04 +01:00
Nico Schottelius
cd3084d8f9
rewrite checksum triggers in ndp/echo reply
2019-03-30 17:19:17 +01:00
Nico Schottelius
33117f0ca8
Remove unused tables
2019-03-30 17:12:34 +01:00
Nico Schottelius
cb3b1501ef
also setter code s/true/1/
2019-03-30 17:03:06 +01:00
Nico Schottelius
ec40bc2c54
s/bool/bit<1>/
...
Fixing
Invalid entry type 'expression' in field list
bad json:
{
"type" : "expression",
"value" : {
"type" : "expression",
"value" : {
"left" : null,
"op" : "d2b",
"right" : {
"type" : "field",
"value" : [ "scalars", "metadata.chk_icmp6" ]
}
}
}
}
2019-03-30 17:02:18 +01:00
Nico Schottelius
d1cc9d2643
Rewrite one check to bit<1>
2019-03-30 17:01:04 +01:00
Nico Schottelius
9f5b9fb0c9
Compare the right field
2019-03-30 16:59:32 +01:00
Nico Schottelius
bfd4a35942
Try to find another workaround against json error in the switch
...
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'MyIngress.nat46': MyIngress.controller_debug_table_id - 4,
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'tbl_act_3': act_3 -
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'tbl_act_4': act_4 -
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'tbl_nat46_icmp_generic': MyIngress.nat46_icmp_generic -
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'tbl_act_5': act_5 -
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'tbl_act_6': act_6 -
[15:54:38.463] [bmv2] [D] [thread 21721] Set default default entry for table 'tbl_act_7': act_7 -
Invalid entry type 'expression' in field list
bad json:
{
"type" : "expression",
"value" : {
"type" : "expression",
"value" : {
"left" : null,
"op" : "d2b",
"right" : {
"type" : "field",
"value" : [ "scalars", "metadata.chk_icmp6_na_ns" ]
}
}
}
}
p4@ubuntu:~/master-thesis/p4app$
2019-03-30 16:57:57 +01:00
Nico Schottelius
78308a00ee
v6: next_header
2019-03-30 16:54:19 +01:00
Nico Schottelius
dae3d5ce30
+ {
2019-03-30 16:53:20 +01:00
Nico Schottelius
f57f15a9cb
Cleanup tables++
2019-03-30 16:51:34 +01:00
Nico Schottelius
d5312dd04c
Change table name
2019-03-30 16:50:17 +01:00
Nico Schottelius
92163d46ef
Begin NAT46 translation of ICMP->ICMP6
2019-03-30 16:35:52 +01:00
Nico Schottelius
881643e2c3
+chk_ prefix
2019-03-30 15:01:24 +01:00
Nico Schottelius
f32ad44e0b
Refactor #n: go back to generic entry point, use if in apply{}
2019-03-30 14:59:46 +01:00
Nico Schottelius
432965eb4f
Reordering actions...
2019-03-27 20:15:31 +01:00
Nico Schottelius
b87b7b72f6
Action definition order matters...
2019-03-27 20:12:56 +01:00
Nico Schottelius
f52522fe0c
Correct typo / rename bug
2019-03-27 20:11:41 +01:00
Nico Schottelius
b12d5d41ee
Resolve name conflict
2019-03-27 20:08:49 +01:00
Nico Schottelius
d6264a32a4
Add code to mimic if in action
...
New table logic, new actions
2019-03-27 19:43:49 +01:00
Nico Schottelius
ac96fe467d
Commit sketch tables for reference
2019-03-27 18:59:35 +01:00
Nico Schottelius
c551b944f8
Remove outter if action call
2019-03-27 18:25:56 +01:00
Nico Schottelius
9a5571fc39
Remove inner if
2019-03-27 18:25:05 +01:00
Nico Schottelius
12658b23ac
Use an action to do the same thing as before
2019-03-27 18:22:37 +01:00
Nico Schottelius
7d9e9e1cfd
Replace switch in action with multiple if's
...
p4c --target bmv2 --arch v1model --std p4-16 "../p4src/static-mapping.p4" -o "/home/p4/master-thesis/p4src"
../p4src/static-mapping.p4(60): error: SwitchStatement: switch statements not allowed in actions
switch(hdr.icmp6.type) {
^^^^^^
2019-03-27 18:05:59 +01:00
Nico Schottelius
aa1b316767
+ block in swtich
2019-03-27 18:02:42 +01:00
Nico Schottelius
404d4ff0df
Begin checksumming icmp4
2019-03-27 18:01:11 +01:00
Your Name
31c86b2e7c
Actually call() the function!
2019-03-27 13:13:04 +00:00
Your Name
907f677e2d
Use if instead of switch
2019-03-27 13:09:27 +00:00
Nico Schottelius
01d9305350
Move def of nat64_icmp6 prior to use
2019-03-27 13:55:07 +01:00
Nico Schottelius
e349de5859
Change protocol in case of icmp6->icmp
2019-03-27 13:49:39 +01:00
Nico Schottelius
c1953aab5c
Re-enable standard IPv4 processing
2019-03-27 13:32:14 +01:00
Nico Schottelius
f59c35c41b
setValid() before filling in the values
2019-03-27 13:26:50 +01:00
Nico Schottelius
29296a30e4
verify again
2019-03-26 22:16:53 +01:00
Nico Schottelius
74420d8bbd
Uncomment region to check flow
2019-03-26 22:13:17 +01:00
Nico Schottelius
658227cd5b
Clarify execution order in nat64/nat46 case
2019-03-26 22:06:35 +01:00
Nico Schottelius
e48abdb254
Use symbolic names in debugging
2019-03-25 14:28:36 +01:00
Nico Schottelius
764245a914
Add table_id info to the NAT* tables
2019-03-25 14:16:14 +01:00
Nico Schottelius
1c1eeaf46e
+ table id bit width
2019-03-25 14:04:11 +01:00