Add rate limit to l2gre vport.
diff --git a/test_data/of13/bsn_virtual_port_create_request__l2gre.data b/test_data/of13/bsn_virtual_port_create_request__l2gre.data
index 9d90293..661fea1 100644
--- a/test_data/of13/bsn_virtual_port_create_request__l2gre.data
+++ b/test_data/of13/bsn_virtual_port_create_request__l2gre.data
@@ -1,12 +1,12 @@
-- binary
04 04 # version, type
-00 4c # len
+00 50 # len
01 02 03 04 # xid
00 5c 16 c7 # experimenter
00 00 00 0f # subtype
00 01 # vport type
-00 3c # vport len
-00 00 00 03 # vport flags
+00 40 # vport len
+00 00 00 1b # vport flags
00 00 00 01 # parent port no
00 00 00 02 # loopback port no
0a 0b 0c 0d 0e 0f # local mac
@@ -15,11 +15,13 @@
c0 00 10 02 # dst ip
01 40 00 00 # dscp, ttl, pad(2)
00 00 be ef # vpn
+00 00 04 00 # rate limit
66 6f 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 # vport if name
-- python
ofp.message.bsn_virtual_port_create_request(
xid=0x01020304, vport=ofp.bsn_vport_l2gre(
-flags=ofp.OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID | ofp.OF_BSN_VPORT_L2GRE_DSCP_ASSIGN,
+flags=ofp.OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID | ofp.OF_BSN_VPORT_L2GRE_DSCP_ASSIGN | \
+ofp.OF_BSN_VPORT_L2GRE_LOOPBACK_IS_VALID | ofp.OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID,
port_no=1,
loopback_port_no=2,
local_mac=[0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f],
@@ -29,6 +31,7 @@
dscp=1,
ttl=64,
vpn=0xbeef,
+rate_limit=0x400,
if_name="foo"
))
-- c
@@ -42,7 +45,9 @@
of_mac_addr_t nh_mac = { { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 } };
of_bsn_vport_l2gre_flags_set(vport,
OF_BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID |
- OF_BSN_VPORT_L2GRE_DSCP_ASSIGN);
+ OF_BSN_VPORT_L2GRE_DSCP_ASSIGN |
+ OF_BSN_VPORT_L2GRE_LOOPBACK_IS_VALID |
+ OF_BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID);
of_bsn_vport_l2gre_port_no_set(vport, 1);
of_bsn_vport_l2gre_loopback_port_no_set(vport, 2);
of_bsn_vport_l2gre_local_mac_set(vport, local_mac);
@@ -52,6 +57,7 @@
of_bsn_vport_l2gre_dscp_set(vport, 1);
of_bsn_vport_l2gre_ttl_set(vport, 64);
of_bsn_vport_l2gre_vpn_set(vport, 0xbeef);
+ of_bsn_vport_l2gre_rate_limit_set(vport, 0x400);
of_bsn_vport_l2gre_if_name_set(vport, if_name);
}
of_bsn_virtual_port_create_request_vport_set(obj, vport);
@@ -64,7 +70,9 @@
.setFlags(
ImmutableSet.<OFBsnVportL2GreFlags>of(
OFBsnVportL2GreFlags.BSN_VPORT_L2GRE_LOCAL_MAC_IS_VALID,
- OFBsnVportL2GreFlags.BSN_VPORT_L2GRE_DSCP_ASSIGN
+ OFBsnVportL2GreFlags.BSN_VPORT_L2GRE_DSCP_ASSIGN,
+ OFBsnVportL2GreFlags.BSN_VPORT_L2GRE_LOOPBACK_IS_VALID,
+ OFBsnVportL2GreFlags.BSN_VPORT_L2GRE_RATE_LIMIT_IS_VALID
)
)
.setPortNo(OFPort.of(1))
@@ -76,6 +84,7 @@
.setDscp((short)1)
.setTtl((short)64)
.setVpn(0xbeef)
+ .setRateLimit(0x400)
.setIfName("foo")
.build()
);