Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for pvcX (Frame Relay) interfaces #429

Open
mnhauke opened this issue Jan 15, 2021 · 1 comment
Open

Support for pvcX (Frame Relay) interfaces #429

mnhauke opened this issue Jan 15, 2021 · 1 comment

Comments

@mnhauke
Copy link

mnhauke commented Jan 15, 2021

Starting with a recent commit to the Linux kernel any ethertypes are now passed from hdlcX to the pvcX sub-interfaces.

After the initial setup with with:

# sethdlc hdlc0 fr lmi ansi
# sethdlc hdlc0 create 102
# ip link set hdlc0 up
# ip link set pvc0 up
# ip address add 1.1.1.2 peer 1.1.1.1 dev pvc0

those network interfaces look like this:

$ ip -d l l dev hdlc0
9: hdlc0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 50
    link/frad  promiscuity 0 minmtu 68 maxmtu 1500 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535

$ ip -d l l dev pvc0
10: pvc0: <POINTOPOINT,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/dlci 00:66 peer 18:61 promiscuity 0 minmtu 68 maxmtu 1500 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535

It would be interesting to have support for these non-ethernet pvcX interfaces.

Here are some pcaps with LLDP frames passing through hdlc0 and pvc0 interfaces from a Linux system connected to a HP Procurve router:
hdlc0.pcap.gz

$ sudo tcpdump -ihdlc0 -s0 -n -w /tmp/hdlc0
tcpdump: listening on hdlc0, link-type FRELAY (Frame Relay), capture size 262144 bytes

pvc0.pcap.gz

$ sudo tcpdump -ipvc0 -n -s0 -w /tmp/pvc0.pcap
tcpdump: listening on pvc0, link-type RAW (Raw IP), capture size 262144 bytes

I recently posted some information about the Linux generic HDLC layer (including Frame Relay) on the osmocom wiki:
https://osmocom.org/projects/e1-t1-adapter/wiki/Linux_generic_HDLC_layer_+_DAHDI/

@vincentbernat
Copy link
Member

This is not trivial as Ethernet is quite hard-coded for LLDP, but there could be an abstraction to support other encapsulations. Wireshark is able to decode HDLC, but not PVC. Looking at the bytes, I don't see the SNAP header with 0x88cc as Ethernet type.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants