Hi,
"bfd.bfd" packet parser seems not to be registered to the UDP packet parser.
How about the following patch?
diff --git a/ryu/lib/packet/bfd.py b/ryu/lib/packet/bfd.py
index 1082f9c0..73c076f3 100644
--- a/ryu/lib/packet/bfd.py
+++ b/ryu/lib/packet/bfd.py
@@ -85,6 +85,10 @@ from . import packet_base
from ryu.lib import addrconv
from ryu.lib import stringify
+UDP_DST_PORT = 3784
+UDP_SRC_PORT_MIN = 49152
+UDP_SRC_PORT_MAX = 65535
+
BFD_STATE_ADMIN_DOWN = 0
BFD_STATE_DOWN = 1
BFD_STATE_INIT = 2
diff --git a/ryu/lib/packet/udp.py b/ryu/lib/packet/udp.py
index 0e25f418..0a51b086 100644
--- a/ryu/lib/packet/udp.py
+++ b/ryu/lib/packet/udp.py
@@ -17,6 +17,7 @@ import struct
from . import packet_base
from . import packet_utils
+from . import bfd
from . import dhcp
from . import dhcp6
from . import vxlan
@@ -65,6 +66,9 @@ class udp(packet_base.PacketBase):
return vxlan.vxlan
if dst_port == geneve.UDP_DST_PORT:
return geneve.geneve
+ if (dst_port == bfd.UDP_DST_PORT and
+ bfd.UDP_SRC_PORT_MIN < src_port < bfd.UDP_SRC_PORT_MAX):
+ return bfd.bfd
return None
@classmethod
2019年6月24日(月) 12:59 knet solutions <[email protected]>:
>
> Hi,
>
> I am not able to decode the BFD packets using get_protocol function.
>
> >b = pkt.get_protocol(bfd.bfd)
> >self.logger.info(b)
>
> The above code prints NONE. bfd packet parsing library couldnot parse the
>
> But I used another approach to decode the BFD protocol.
>
> >payload = pkt.protocols[-1]
> >print bfd.bfd.parser(payload)[0]
> This works.
> Refer the logs below.
>
> Question.:
> - Does pkt.get_protocol(bfd.bfd) should work? or am i doing something wrong?
>
>
> LOGS
> =======
> None
> bfd(auth_cls=None,desired_min_tx_interval=1000000,detect_mult=3,diag=0,flags=0,length=24,my_discr=4221102142,required_min_echo_rx_interval=0,required_min_rx_interval=10000,state=1,ver=1,your_discr=0)
>
>
> --
> Regards,
> Knet solutions.
> UDEMY RYU SDN Training Course: UDEMY LINK
> Whatsapp/Mobile: +919445042007
> website: http://knetsolutions.in/
> Facebook Page : https://www.facebook.com/sdntraining/
>
>
>
> _______________________________________________
> Ryu-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ryu-devel
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel