List Info

Thread: UDP multicast




UDP multicast
country flaguser name
Romania
2007-12-26 03:43:14
Hi,

Currently if two UDP sockets join the same multicast group
but on
different interfaces both of them get a packet received on
an interface
regardingless the interface supplied when joined group.
Also, when an
UDP packet is received, the pcb match code seems to compare
dst to
socket bound address which is simply erronated IMO because
you have to
bound sockets to either INADDR_ANY or multicast group
address in order
to receive multicast datagrams.

Opinions ?

--
Mihai


begin 666 udpmcast.patch
M26YD97Z('5D<%]U<W)R97$N8PH]/3T]/3T]/3T]/3T]/3T]/3T]/3
T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]&qu
ot;E)#
M4R!F:6QE.B
O8W9S<F]O="]S<F,O<WES+VYE=&EN970O=61P7W5S&
lt;G)E<2YC
M+'8*<F5T<FEE=FEN9R!R979I<VEO;B
Q+C$V,PID:69F("UU("UP("UR,2XQ
M-C,=61P7W5S<G)E<2YC"BTM+2!U9'!?=7-R<F5Q+F,
),C<3F]V(#(P,#<
M,C(Z-#4Z,S +3 P,#
),2XQ-C,**RLK('5D<%]U<W)R97$N8PDR-B!$96,
M,C P-R P.#HQ-SHQ-2 M,# P, I 0" M-S0P+#$V("LW-#
L,C00$ =61P
M-%]R96%L:6YP=70H<W1R=6-T('-O8VMA9&1R7VEN("IS<
;F,L( H"0D*B!,
M;V-A=&4<&-B*',I(&9O<B!D871A9W)A;2X*(
D)("HO"B )"4-)4D-,15%?
M1D]214%#2"AI;G!H+"
F=61B=&%B;&4N:6YP=%]Q=65U92P:6YP:%]Q=65U
M92D>PHK"0D):6YT(&D["BL*(
D)"6EN<" ]("AS=')U8W0:6YP8V(*BEI
M;G!H.PH"0D):68*&EN<"T^:6YP7V%F("$]($%&7TE.150I
"B )"0D)8V]N
M=&EN=64["BT*+0D)"6EF("AI;G
M/FEN<%]L<&]R=" A/2 J9'!O<G0I"BL)
M"0EI9B H:6YP+3YI;G!?;6]P=&EO;G,/3T3E5,3"D*( D)"0EC;VYT:6YU
M93L*+0D)"6EF("A:6Y?;G5L;&AO<W0H:6YP+3YI;G!?;&%D9'(I*2![&
quot;BT)
M"0D):68*"%I;E]H;W-T97$H:6YP+3YI;G!?;&%D9'(L("I
D<W0T*2D*+0D)
M"0D)8V]N=&EN=64["BL)"0EF;W(*&D/2 P.R!I(#P:6YP+3YI;G!?;6]P
M=&EO;G,M/FEM;U]N=6U?;65M8F5R<VAI<',[(&DK*RD>PHK"0D)"6EF("AI
M;G
M/FEN<%]M;W!T:6]N<RT^:6UO7VUE;6)E<G-H:7!;:5TM/FEN;5
]I9G 
M/3T**PD)"0D);2T^;5]P:W1H9'(N<F-V:68)B8**PD)"0D(" :6Y?:&]S
M=&5Q*"ID<W0T+ HK"0D)"0EI;G
M/FEN<%]M;W!T:6]N<RT^:6UO7VUE;6)E
M<G-H:7!;:5TM/FEN;5]A9&1R*2D**PD)"0D)("
(&)R96%K.PH"0D)?0HK
M"0D):68*&D/3T:6YP+3YI;G!?;6]P=&EO;G,M/FEM;U]N=6U?;65M8F5R
M<VAI<',I"BL)"0D)8V]N=&EN=64["BL)&q
uot;0EI9B H:6YP+3YI;G!?;'!O<G0
M(3T*F1P;W)T*0HK"0D)"6-O;G1I;G5E.PH"0D):68*"%I;E]N=6QL:&]S
M="AI;G M/FEN<%]F861D<BDI('L*( D)"0EI9B
H(6EN7VAO<W1E<2AI;G M
M/FEN<%]F861D<BP*G-R8S0I('Q"B )"0D)(" (&EN<"T^:6YP7V9P;W)T
,("$]("IS<&]R="D*
`
end


Re: UDP multicast
country flaguser name
Romania
2008-01-03 13:24:42
Mihai Chelaru wrote:
> Hi,
> 
> Currently if two UDP sockets join the same multicast
group but on
> different interfaces both of them get a packet received
on an interface
> regardingless the interface supplied when joined group.
Also, when an
> UDP packet is received, the pcb match code seems to
compare dst to
> socket bound address which is simply erronated IMO
because you have to
> bound sockets to either INADDR_ANY or multicast group
address in order
> to receive multicast datagrams.

Hi,

Getting back on this one here is a summary how others handle
it:

	- FreeBSD did change it to this in rev 1.140 of
udp_usrreq.c but added 
a sysctl knob that controlled the delivery. Default was at
that time old 
delivery type. Since then they implemented IGMPv3 rewrote
much of the 
mcast code, now new behaviour being the only one used as far
as I can 
tell. Anyway, they drop the that sysctl oid entirely and
also droped 
support for interface index selection.
	- OpenBSD has only our old behaviour
	- Solaris has only the new behaviour as far as I can tell
from a test 
application
	- DFlyBSD did change in rev 1.7 of udp_usrreq.c, but also
added a 
sysctl that defaults to the new conduct.

Also reading RFC3376 and RFC3678 (2.1), I believe we're not
doing the 
correct thing, currently.

-- 
Thanks,
Mihai

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )