Rate limit for IPv6 RS punt packets. 34/76934/5
authorSomashekar Byrappa <somashekar.b@altencalsoftlabs.com>
Fri, 12 Oct 2018 11:54:46 +0000 (17:24 +0530)
committerSomashekar Byrappa <somashekar.b@altencalsoftlabs.com>
Wed, 24 Oct 2018 11:13:42 +0000 (16:43 +0530)
commit462b881f523ff89c415607426359056453de93c3
treed53d5660e59e6dca265c0d2f8a21af753620bfd8
parent4ab8200f010b1ca4706d9ca391d33b411a907e5b
Rate limit for IPv6 RS punt packets.

+ RS punt controller flow is updated with learn action which adds drop
  RS flow per port.
+ The drop flow will have higher priority (60) than the punt controller
  flow (50) to make sure subsequent RS packets for the same port is
  dropped till the hard_timeout value (10 secs).
+ The drop flow will match metadata on LPORT tag to make sure it drops
  RS packets per port.

 "cookie=0x4000000, duration=3.379s, table=45, n_packets=0, n_bytes=0,
   hard_timeout=10, priority=60,
   icmp6,metadata=0x50000000000/0xfffff0000000000,icmp_type=133,
   icmp_code=0 actions=drop"

 "cookie=0x4000000, duration=1.413s, table=45, n_packets=0, n_bytes=0,
   hard_timeout=10, priority=60,icmp6,
   metadata=0x70000000000/0xfffff0000000000,icmp_type=133,icmp_code=0
   actions=drop"

 "cookie=0x4000000, duration=11367.920s, table=45, n_packets=10,
   n_bytes=700, priority=50,icmp6,metadata=0x1389000000/0xffff000000,
   icmp_type=133,icmp_code=0 actions=CONTROLLER:65535,learn(table=45,
   hard_timeout=10,priority=60,cookie=0x4000000,eth_type=0x86dd,
   nw_proto=58,icmpv6_type=133,icmpv6_code=0,OXM_OF_METADATA[40..59])"

Depends-On: https://git.opendaylight.org/gerrit/#/c/76922/

Change-Id: I4a6ec6e5d3b87722f6b722f38410f4acd7a77db3
Signed-off-by: Somashekar Byrappa <somashekar.b@altencalsoftlabs.com>
ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/utils/Ipv6ServiceConstants.java
ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/utils/Ipv6ServiceUtils.java
ipv6service/impl/src/main/resources/initial/netvirt-ipv6service-config.xml [new file with mode: 0644]
ipv6service/impl/src/main/resources/org/opendaylight/blueprint/ipv6service.xml
ipv6service/impl/src/main/yang/ipv6service-config.yang [new file with mode: 0644]