File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -378,7 +378,7 @@ control router_v4_route(
378378) {
379379 table rtr {
380380 key = { ingress .path_idx : exact ; }
381- actions = { forward ; forward_vlan ; }
381+ actions = { forward ; forward_v6 ; forward_vlan ; forward_vlan_v6 ; }
382382 // should never happen, but the compiler requires a default
383383 default_action = drop ;
384384 }
@@ -394,12 +394,26 @@ control router_v4_route(
394394 egress .drop = false ;
395395 }
396396
397+ action forward_v6 (bit <16 > port , bit <128 > nexthop ) {
398+ egress .port = port ;
399+ egress .vlan_id = 12 w0 ;
400+ egress .nexthop_v6 = nexthop ;
401+ egress .drop = false ;
402+ }
403+
397404 action forward_vlan (bit <16 > port , bit <32 > nexthop , bit <12 > vlan_id ) {
398405 egress .port = port ;
399406 egress .vlan_id = vlan_id ;
400407 egress .nexthop_v4 = nexthop ;
401408 egress .drop = false ;
402409 }
410+
411+ action forward_vlan_v6 (bit <16 > port , bit <128 > nexthop , bit <12 > vlan_id ) {
412+ egress .port = port ;
413+ egress .vlan_id = vlan_id ;
414+ egress .nexthop_v6 = nexthop ;
415+ egress .drop = false ;
416+ }
403417}
404418
405419control router_v4_idx (
Original file line number Diff line number Diff line change @@ -924,13 +924,15 @@ fn dump_tables(table: &BTreeMap<String, Vec<TableEntry>>) {
924924 Some ( idx) => format ! ( "{idx}" ) ,
925925 None => "?" . into ( ) ,
926926 } ;
927- if e. action_id == "forward" {
927+ if e. action_id == "forward" || e . action_id == "forward_v6" {
928928 let gw = match get_port_addr ( & e. parameter_data , false ) {
929929 Some ( ( a, p) ) => format ! ( "{a} ({p})" ) ,
930930 None => "?" . into ( ) ,
931931 } ;
932932 println ! ( "{idx} -> {gw}" ) ;
933- } else if e. action_id == "forward_vlan" {
933+ } else if e. action_id == "forward_vlan"
934+ || e. action_id == "forward_vlan_v6"
935+ {
934936 let gw = match get_port_addr_vlan ( & e. parameter_data , false ) {
935937 Some ( ( a, p, v) ) => format ! ( "{a} ({p}) vid: {v}" ) ,
936938 None => "?" . into ( ) ,
You can’t perform that action at this time.
0 commit comments