Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.os.linux.embedded > #364
| From | "Mark" <mark_cruzNOTFORSPAM@hotmail.com> |
|---|---|
| Newsgroups | comp.unix.programmer, comp.os.linux.embedded |
| Subject | adding new address families (AF_xxx) |
| Date | 2012-11-07 17:48 -0500 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <k7eofp$5n8$1@speranza.aioe.org> (permalink) |
Cross-posted to 2 groups.
Hello,
I came across the kernel driver code implementing some sort of IGMP snooping
backend and as part of its functionalilty it creates a new socket address
family, AF_IGMPSNOOP, but actually implements just a few operations for this
type of socket:
static struct proto_ops igmp_snoop_ops = {
family: AF_IGMP_SNOOP,
release: _igmp_snoop_sock_release,
bind: sock_no_bind,
connect: sock_no_connect,
socketpair: sock_no_socketpair,
accept: sock_no_accept,
getname: sock_no_getname,
poll: datagram_poll,
ioctl: sock_no_ioctl,
listen: sock_no_listen,
shutdown: sock_no_shutdown,
setsockopt: _igmp_snoop_setsockopt,
getsockopt: sock_no_getsockopt,
sendmsg: _igmp_snoop_sock_sendmsg,
recvmsg: _igmp_snoop_sock_recvmsg,
mmap: sock_no_mmap,
sendpage: sock_no_sendpage,
}
However from a user space perspective a socket is created as:
fd = socket (AF_IGMPSNOOP, SOCK_RAW, IPPROTO_IGMP)
I'm wondering what is the rationale for adding a new family, while in fact a
raw socket is being used to access the stack for IGMP packets? Would not it
be the same to just create AF_INET raw socket and do the things?
Looking forward to hearing form you !
Thanks.
Mark
Back to comp.os.linux.embedded | Previous | Next — Next in thread | Find similar
adding new address families (AF_xxx) "Mark" <mark_cruzNOTFORSPAM@hotmail.com> - 2012-11-07 17:48 -0500
Re: adding new address families (AF_xxx) Les Cargill <lcargill99@comcast.com> - 2012-11-07 22:49 -0600
Re: adding new address families (AF_xxx) "Mark" <mark_cruzNOTFORSPAM@hotmail.com> - 2012-11-08 08:11 -0500
Re: adding new address families (AF_xxx) Les Cargill <lcargill99@comcast.com> - 2012-11-08 21:03 -0600
csiph-web