4.11network-demos-4-10-branch
Last change
on this file since 0fe6b0d was
d90a61b,
checked in by Joel Sherrill <joel.sherrill@…>, on 02/05/08 at 21:45:54
|
2008-02-05 Joel Sherrill <joel.sherrill@…>
|
-
Property mode set to
100644
|
File size:
1.5 KB
|
Line | |
---|
1 | # |
---|
2 | # $Id$ |
---|
3 | # |
---|
4 | |
---|
5 | This directory contains a very simple multicast demo program. There |
---|
6 | are multiple multicast demo programs on the Internet and this program |
---|
7 | is a combination of those. |
---|
8 | |
---|
9 | Native Programs |
---|
10 | =============== |
---|
11 | Two native programs are built as a side-effect of the RTEMS make. |
---|
12 | They are listener and mcast. |
---|
13 | |
---|
14 | + listener is a pure listener |
---|
15 | |
---|
16 | + mcast sends and receives data and is the same program run on the |
---|
17 | RTEMS target |
---|
18 | |
---|
19 | |
---|
20 | Driver Requirements |
---|
21 | =================== |
---|
22 | + NIC must set IFF_MULTICAST bit in if_flags during attach |
---|
23 | |
---|
24 | ifp->if_flags = IFF_BROADCAST | IFF_MULTICAST; |
---|
25 | |
---|
26 | + NIC must support SIOCADDMULTI and SIOCDELMULTI ioctls. |
---|
27 | |
---|
28 | case SIOCADDMULTI: |
---|
29 | case SIOCDELMULTI: { |
---|
30 | struct ifreq* ifr = (struct ifreq*) data; |
---|
31 | error = (command == SIOCADDMULTI) |
---|
32 | ? ether_addmulti(ifr, &sc->arpcom) |
---|
33 | : ether_delmulti(ifr, &sc->arpcom); |
---|
34 | |
---|
35 | if (error == ENETRESET) { |
---|
36 | if (ifp->if_flags & IFF_RUNNING) |
---|
37 | error = // driver specific routine to adjust filtering |
---|
38 | } |
---|
39 | break; |
---|
40 | } |
---|
41 | |
---|
42 | In some drivers, there is no need to adjust any driver specific |
---|
43 | filtering. In this case, set error = 0 in the above code. |
---|
44 | |
---|
45 | GNU/Linux |
---|
46 | ========= |
---|
47 | You will have to have a route in place. Something like this command should |
---|
48 | work if you adjust the 192.168.1.244 to match your IP address and adjust the |
---|
49 | 239.9.8.0 to match the multicast address used in mcast_params.h: |
---|
50 | |
---|
51 | /sbin/route add -net 239.9.8.0 netmask 255.255.255.0 gw 192.168.1.244 dev eth0 |
---|
52 | |
---|
Note: See
TracBrowser
for help on using the repository browser.