LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Networking
User Name
Password
Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.

Notices


Reply
  Search this Thread
Old 08-10-2016, 02:29 PM   #1
arajak
LQ Newbie
 
Registered: Aug 2016
Posts: 3

Rep: Reputation: Disabled
[Kernel-4.6] [Vrf-lite] Not able to make multicast work.


I am trying to configure vrf-ilte, with kernel 4.6. But it seems that I am not able to make the multicast work.
- Kernel is standard 4.6 picked up from here https://www.kernel.org/pub/linux/ker...nux-4.6.tar.gz
- It is topped up with chvrf patch viz http://pastebin.com/UFWHvPHw
- and, I am testing the setup using this http://pastebin.com/wM4WVUH7

Synopsis of the issue:
1. If the sender(S) & listener(L) are both on the same box, and *S* is bound to *vrf-purple* multicast works.
2. If the *S* is bound to *vrf-purple* and the *L* is started on a remote machine, it doesn't work.
3. Please note, the connectivity between the boxes are fine. Even the unicast vrf-bound ping goes through.

The boxes are setup as:
Code:
  +-------------------+                         +-------------------+
  | R1                |                         | R2                |
  |                   |                         |                   |
  |                   |                         |                   |
  +-------------------+                         |                   |
  |     vrf-purple    |                         |                   |
  +-------------------+                         +-------------------+
  |       enp0s8      o-------------------------o       enp0s8      |
  +-------------------+                         +-------------------+
               192.168.56.101            192.168.56.103
Running mcast client on R1
Code:
user@R1:~/vrf$ ./mcs -s -l 192.168.56.101
Creating Sender
sending Hello! I am R1 0x1292
sending Hello! I am R1 0x1292
mcast server on R1
Code:
user@R1:~/vrf$ sudo ./vrf vrf-purple ./mcs -i enp0s8
…
Rx : Hello! I am R1 0x1292
Rx : Hello! I am R1 0x1292
However the remote path is not working as expected
Code:
user@R2:~/vrf$ ./mcs -s -l 192.168.56.103
Creating Sender
sending Hello! I am R2 0x1265

NOTE: This is never received by the server@R1
Network setup on R1
Code:
Interfaces
-----------
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vrf-purple state UP group default qlen 1000
    link/ether 08:00:27:38:ce:0e brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.101/24 scope global enp0s8
       valid_lft forever preferred_lft forever
5: vrf-purple: <NOARP,MASTER,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 66:89:4a:12:5b:6d brd ff:ff:ff:ff:ff:ff promiscuity 0
    vrf table 10 addrgenmode eui64
 
Ping remote
-----------
user@R1$ ping -I enp0s8 192.168.56.103
PING 192.168.56.103 (192.168.56.103) from 192.168.56.101 enp0s8: 56(84) bytes of data.
64 bytes from 192.168.56.103: icmp_seq=1 ttl=64 time=0.553 ms
 
Change Vrf & ping
-----------------
user@R1$ ./vrf vrf-purple ping 192.168.56.103
PING 192.168.56.103 (192.168.56.103) 56(84) bytes of data.
64 bytes from 192.168.56.103: icmp_seq=1 ttl=64 time=0.330 ms
 
Routes
------
user@R1$  ip route show table 10
prohibit default
broadcast 192.168.56.0 dev enp0s8  proto kernel  scope link  src 192.168.56.101
192.168.56.0/24 dev enp0s8  proto kernel  scope link  src 192.168.56.101
user@R1 192.168.56.101 dev enp0s8  proto kernel  scope host  src 192.168.56.101
broadcast 192.168.56.255 dev enp0s8  proto kernel  scope link  src 192.168.56.101
With *remote* multicast sending packets, I see the following:
Code:
> Can see the packets in tcpdump
user@R1:~/vrf$ sudo tcpdump -nni enp0s8
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s8, link-type EN10MB (Ethernet), capture size 262144 bytes
11:56:56.289027 IP 192.168.56.103.33879 > 239.0.4.1.59995: UDP, length 300
11:56:57.290189 IP 192.168.56.103.33879 > 239.0.4.1.59995: UDP, length 300

user@R1:~/vrf$ netstat -su
… 
UdpLite:
IpExt:
…
    InMcastPkts: 209 		<< In case of Local sender this increases,
					      In case of remote sender, this doesn’t increase
    InOctets: 675995	        << Increases in both the cases
    OutOctets: 480410
…
    InNoECTPkts: 5029      << Increase in both the cases.

user@R1:~/vrf$ netstat -ui
Kernel Interface table
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
…
enp0s8     1500 0       641      0      0 0           226      0      0      0 BMRU
…
vrf-purple  1500 0       744      0      0 0             6      0      0      0 OmRU
                         ^^^
                 RX-OK increases
Need to understand why is it not working, and if I need to make some additional configuration. Please let me know, if any more information is required.
 
Old 08-11-2016, 04:15 PM   #2
arajak
LQ Newbie
 
Registered: Aug 2016
Posts: 3

Original Poster
Rep: Reputation: Disabled
The incoming mcast packets are not *ours* and hence are not processed. Group registration on the master device, I think, solved the problem, but not sure, if this is the right solution.

Looking for right solution, or upvote if the above mentioned way is the right one.
 
Old 08-16-2016, 01:42 PM   #3
arajak
LQ Newbie
 
Registered: Aug 2016
Posts: 3

Original Poster
Rep: Reputation: Disabled
Any help, regarding the right solution.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Traffic Control in a vrf-patched kernel baraka Linux - Networking 0 08-29-2011 12:13 PM
cannot make a custom kernel work dannyk1 Linux - General 5 06-12-2005 07:20 AM
How do I make a change to a current kernel? Would 'make oldconfig' work... jtp51 Slackware 11 11-01-2004 11:02 PM
Cannot make 2.6.* Kernel work! ZephyrXero Linux - Newbie 6 05-21-2004 10:35 PM
make limmodem for kernel 2.4.20-8 work on 2.4.22 qwijibow Linux - Hardware 4 11-03-2003 05:16 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Networking

All times are GMT -5. The time now is 12:50 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration