linux-stable/drivers
Taehee Yoo cbc21dc1cf amt: add data plane of amt interface
Before forwarding multicast traffic, the amt interface establishes between
gateway and relay. In order to establish, amt defined some message type
and those message flow looks like the below.

                      Gateway                  Relay
                      -------                  -----
                         :        Request        :
                     [1] |           N           |
                         |---------------------->|
                         |    Membership Query   | [2]
                         |    N,MAC,gADDR,gPORT  |
                         |<======================|
                     [3] |   Membership Update   |
                         |   ({G:INCLUDE({S})})  |
                         |======================>|
                         |                       |
    ---------------------:-----------------------:---------------------
   |                     |                       |                     |
   |                     |    *Multicast Data    |  *IP Packet(S,G)    |
   |                     |      gADDR,gPORT      |<-----------------() |
   |    *IP Packet(S,G)  |<======================|                     |
   | ()<-----------------|                       |                     |
   |                     |                       |                     |
    ---------------------:-----------------------:---------------------
                         ~                       ~
                         ~        Request        ~
                     [4] |           N'          |
                         |---------------------->|
                         |   Membership Query    | [5]
                         | N',MAC',gADDR',gPORT' |
                         |<======================|
                     [6] |                       |
                         |       Teardown        |
                         |   N,MAC,gADDR,gPORT   |
                         |---------------------->|
                         |                       | [7]
                         |   Membership Update   |
                         |  ({G:INCLUDE({S})})   |
                         |======================>|
                         |                       |
    ---------------------:-----------------------:---------------------
   |                     |                       |                     |
   |                     |    *Multicast Data    |  *IP Packet(S,G)    |
   |                     |     gADDR',gPORT'     |<-----------------() |
   |    *IP Packet (S,G) |<======================|                     |
   | ()<-----------------|                       |                     |
   |                     |                       |                     |
    ---------------------:-----------------------:---------------------
                         |                       |
                         :                       :

1. Discovery
 - Sent by Gateway to Relay
 - To find Relay unique ip address
2. Advertisement
 - Sent by Relay to Gateway
 - Contains the unique IP address
3. Request
 - Sent by Gateway to Relay
 - Solicit to receive 'Query' message.
4. Query
 - Sent by Relay to Gateway
 - Contains General Query message.
5. Update
 - Sent by  Gateway to Relay
 - Contains report message.
6. Multicast Data
 - Sent by Relay to Gateway
 - encapsulated multicast traffic.
7. Teardown
 - Not supported at this time.

Except for the Teardown message, it supports all messages.

In the next patch, IGMP/MLD logic will be added.

Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-11-01 13:36:08 +00:00
..
accessibility
acpi ACPI fixes for 5.15-rc7 2021-10-22 09:08:08 -10:00
amba
android
ata ata: sata_mv: Fix the error handling of mv_chip_id() 2021-10-25 08:53:04 +09:00
atm
auxdisplay
base Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-28 10:43:58 -07:00
bcma
block block-5.15-2021-10-17 2021-10-17 19:25:20 -10:00
bluetooth
bus Driver core fixes for 5.15-rc6 2021-10-17 17:17:28 -10:00
cdrom
char
clk clk: qcom: add select QCOM_GDSC for SM6350 2021-10-13 11:44:42 -07:00
clocksource
comedi
connector
counter
cpufreq
cpuidle
crypto
cxl
dax
dca
devfreq
dio
dma
dma-buf
edac EDAC/armada-xp: Fix output of uncorrectable error counter 2021-10-14 11:46:03 +02:00
eisa
extcon
firewire firewire: don't write directly to netdev->dev_addr 2021-10-28 12:47:09 +01:00
firmware EFI fixes for v5.15 2021-10-17 17:30:49 -10:00
fpga
fsi
gnss
gpio
gpu Revert "drm/ast: Add detect function support" 2021-10-22 05:52:12 +10:00
greybus
hid
hsi net: remove single-byte netdev->dev_addr writes 2021-10-13 10:03:59 -07:00
hv hyperv-fixes for 5.15 2021-10-22 10:31:32 -10:00
hwmon
hwspinlock
hwtracing
i2c
i3c
idle
iio Staging/IIO driver fixes for 5.15-rc6 2021-10-17 17:10:00 -10:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-28 10:43:58 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2021-10-17 16:57:06 -10:00
interconnect
iommu iommu/arm: fix ARM_SMMU_QCOM compilation 2021-10-13 21:28:44 +02:00
ipack
irqchip
isdn mISDN: Fix return values of the probe function 2021-10-19 13:09:28 +01:00
leds
macintosh
mailbox
mcb
md dm: fix mempool NULL pointer race when completing IO 2021-10-12 13:54:10 -04:00
media media: use eth_hw_addr_set() 2021-10-28 12:46:31 +01:00
memory
memstick
message mpt fusion: use dev_addr_set() 2021-10-28 12:47:49 +01:00
mfd
misc net: sgi-xp: use eth_hw_addr_set() 2021-10-29 13:17:21 +01:00
mmc asm-generic: build fixes for v5.15 2021-10-08 11:57:54 -07:00
most
mtd
mux
net amt: add data plane of amt interface 2021-11-01 13:36:08 +00:00
nfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-28 10:43:58 -07:00
ntb
nubus
nvdimm
nvme nvme fixes for Linux 5.15: 2021-10-14 09:07:14 -06:00
nvmem nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells 2021-10-13 15:09:58 +02:00
of Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-22 11:41:16 +01:00
opp
parisc
parport
pci pci-v5.15-fixes-2 2021-10-16 09:00:46 -07:00
pcmcia ethernet: replace netdev->dev_addr assignment loops 2021-10-14 09:22:25 -07:00
perf
phy net: Convert more users of mdiobus_* to mdiodev_* 2021-10-24 13:40:33 +01:00
pinctrl pinctrl: amd: disable and mask interrupts on probe 2021-10-16 23:56:59 +02:00
platform platform/x86: int1092: Fix non sequential device mode handling 2021-10-11 16:39:25 +02:00
pnp
power
powercap
pps
ps3
ptp ptp: fix code indentation issues 2021-10-28 14:42:20 +01:00
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390 s390/qeth: update kerneldoc for qeth_add_hw_header() 2021-10-25 13:58:19 +01:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-28 10:43:58 -07:00
sh
siox
slimbus
soc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-22 11:41:16 +01:00
soundwire
spi spi: Fixes for v5.15 2021-10-28 10:04:39 -07:00
spmi
ssb
staging staging: use of_get_ethdev_address() 2021-10-27 17:13:12 -07:00
target
tc
tee tee: optee: Fix missing devices unregister during optee_remove 2021-10-12 13:24:39 +02:00
thermal
thunderbolt
tty Serial driver fix for 5.15-rc6 2021-10-17 17:06:31 -10:00
uio
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-22 11:41:16 +01:00
vdpa Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-10-28 10:43:58 -07:00
vfio
vhost virtio,vdpa: fixes 2021-10-17 18:17:19 -10:00
video
virt
virtio virtio-ring: fix DMA metadata flags 2021-10-27 15:54:34 -04:00
visorbus
vlynq
vme
w1
watchdog watchdog: Fix OMAP watchdog early handling 2021-10-26 20:22:51 +02:00
xen xen: branch for v5.15-rc5 2021-10-08 12:55:23 -07:00
zorro
Kconfig
Makefile