diff options
| author | whitespace / reindent <invalid@invalid.invalid> | 2017-07-17 14:03:14 +0200 | 
|---|---|---|
| committer | whitespace / reindent <invalid@invalid.invalid> | 2017-07-17 14:04:07 +0200 | 
| commit | d62a17aedeb0eebdba98238874bb13d62c48dbf9 (patch) | |
| tree | 3b319b1d61c8b85b4d1f06adf8b844bb8a9b5107 /ospfd/ospf_network.c | |
| parent | 888ac268a0077fc9ebd1218cec6ae472af0bfc40 (diff) | |
*: reindentreindent-master-after
indent.py `git ls-files | pcregrep '\.[ch]$' | pcregrep -v '^(ldpd|babeld|nhrpd)/'`
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'ospfd/ospf_network.c')
| -rw-r--r-- | ospfd/ospf_network.c | 312 | 
1 files changed, 160 insertions, 152 deletions
diff --git a/ospfd/ospf_network.c b/ospfd/ospf_network.c index 0f5785966f..c72c69856c 100644 --- a/ospfd/ospf_network.c +++ b/ospfd/ospf_network.c @@ -42,185 +42,193 @@ extern struct zebra_privs_t ospfd_privs;  #include "ospfd/ospf_packet.h" -  /* Join to the OSPF ALL SPF ROUTERS multicast group. */ -int -ospf_if_add_allspfrouters (struct ospf *top, struct prefix *p, -			   ifindex_t ifindex) +int ospf_if_add_allspfrouters(struct ospf *top, struct prefix *p, +			      ifindex_t ifindex)  { -  int ret; -   -  ret = setsockopt_ipv4_multicast (top->fd, IP_ADD_MEMBERSHIP, -                                   p->u.prefix4, htonl (OSPF_ALLSPFROUTERS), -                                   ifindex); -  if (ret < 0) -    zlog_warn ("can't setsockopt IP_ADD_MEMBERSHIP (fd %d, addr %s, " -	       "ifindex %u, AllSPFRouters): %s; perhaps a kernel limit " -	       "on # of multicast group memberships has been exceeded?", -               top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno)); -  else -    zlog_debug ("interface %s [%u] join AllSPFRouters Multicast group.", -	       inet_ntoa (p->u.prefix4), ifindex); - -  return ret; +	int ret; + +	ret = setsockopt_ipv4_multicast(top->fd, IP_ADD_MEMBERSHIP, +					p->u.prefix4, htonl(OSPF_ALLSPFROUTERS), +					ifindex); +	if (ret < 0) +		zlog_warn( +			"can't setsockopt IP_ADD_MEMBERSHIP (fd %d, addr %s, " +			"ifindex %u, AllSPFRouters): %s; perhaps a kernel limit " +			"on # of multicast group memberships has been exceeded?", +			top->fd, inet_ntoa(p->u.prefix4), ifindex, +			safe_strerror(errno)); +	else +		zlog_debug( +			"interface %s [%u] join AllSPFRouters Multicast group.", +			inet_ntoa(p->u.prefix4), ifindex); + +	return ret;  } -int -ospf_if_drop_allspfrouters (struct ospf *top, struct prefix *p, -			    ifindex_t ifindex) +int ospf_if_drop_allspfrouters(struct ospf *top, struct prefix *p, +			       ifindex_t ifindex)  { -  int ret; - -  ret = setsockopt_ipv4_multicast (top->fd, IP_DROP_MEMBERSHIP, -                                   p->u.prefix4, htonl (OSPF_ALLSPFROUTERS), -                                   ifindex); -  if (ret < 0) -    zlog_warn ("can't setsockopt IP_DROP_MEMBERSHIP (fd %d, addr %s, " -	       "ifindex %u, AllSPFRouters): %s", -               top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno)); -  else -    zlog_debug ("interface %s [%u] leave AllSPFRouters Multicast group.", -	        inet_ntoa (p->u.prefix4), ifindex); - -  return ret; +	int ret; + +	ret = setsockopt_ipv4_multicast(top->fd, IP_DROP_MEMBERSHIP, +					p->u.prefix4, htonl(OSPF_ALLSPFROUTERS), +					ifindex); +	if (ret < 0) +		zlog_warn( +			"can't setsockopt IP_DROP_MEMBERSHIP (fd %d, addr %s, " +			"ifindex %u, AllSPFRouters): %s", +			top->fd, inet_ntoa(p->u.prefix4), ifindex, +			safe_strerror(errno)); +	else +		zlog_debug( +			"interface %s [%u] leave AllSPFRouters Multicast group.", +			inet_ntoa(p->u.prefix4), ifindex); + +	return ret;  }  /* Join to the OSPF ALL Designated ROUTERS multicast group. */ -int -ospf_if_add_alldrouters (struct ospf *top, struct prefix *p, ifindex_t ifindex) +int ospf_if_add_alldrouters(struct ospf *top, struct prefix *p, +			    ifindex_t ifindex)  { -  int ret; - -  ret = setsockopt_ipv4_multicast (top->fd, IP_ADD_MEMBERSHIP, -                                   p->u.prefix4, htonl (OSPF_ALLDROUTERS), -                                   ifindex); -  if (ret < 0) -    zlog_warn ("can't setsockopt IP_ADD_MEMBERSHIP (fd %d, addr %s, " -	       "ifindex %u, AllDRouters): %s; perhaps a kernel limit " -	       "on # of multicast group memberships has been exceeded?", -               top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno)); -  else -    zlog_debug ("interface %s [%u] join AllDRouters Multicast group.", -	        inet_ntoa (p->u.prefix4), ifindex); - -  return ret; +	int ret; + +	ret = setsockopt_ipv4_multicast(top->fd, IP_ADD_MEMBERSHIP, +					p->u.prefix4, htonl(OSPF_ALLDROUTERS), +					ifindex); +	if (ret < 0) +		zlog_warn( +			"can't setsockopt IP_ADD_MEMBERSHIP (fd %d, addr %s, " +			"ifindex %u, AllDRouters): %s; perhaps a kernel limit " +			"on # of multicast group memberships has been exceeded?", +			top->fd, inet_ntoa(p->u.prefix4), ifindex, +			safe_strerror(errno)); +	else +		zlog_debug( +			"interface %s [%u] join AllDRouters Multicast group.", +			inet_ntoa(p->u.prefix4), ifindex); + +	return ret;  } -int -ospf_if_drop_alldrouters (struct ospf *top, struct prefix *p, ifindex_t ifindex) +int ospf_if_drop_alldrouters(struct ospf *top, struct prefix *p, +			     ifindex_t ifindex)  { -  int ret; - -  ret = setsockopt_ipv4_multicast (top->fd, IP_DROP_MEMBERSHIP, -                                   p->u.prefix4, htonl (OSPF_ALLDROUTERS), -                                   ifindex); -  if (ret < 0) -    zlog_warn ("can't setsockopt IP_DROP_MEMBERSHIP (fd %d, addr %s, " -	       "ifindex %u, AllDRouters): %s", -               top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno)); -  else -    zlog_debug ("interface %s [%u] leave AllDRouters Multicast group.", -	        inet_ntoa (p->u.prefix4), ifindex); - -  return ret; +	int ret; + +	ret = setsockopt_ipv4_multicast(top->fd, IP_DROP_MEMBERSHIP, +					p->u.prefix4, htonl(OSPF_ALLDROUTERS), +					ifindex); +	if (ret < 0) +		zlog_warn( +			"can't setsockopt IP_DROP_MEMBERSHIP (fd %d, addr %s, " +			"ifindex %u, AllDRouters): %s", +			top->fd, inet_ntoa(p->u.prefix4), ifindex, +			safe_strerror(errno)); +	else +		zlog_debug( +			"interface %s [%u] leave AllDRouters Multicast group.", +			inet_ntoa(p->u.prefix4), ifindex); + +	return ret;  } -int -ospf_if_ipmulticast (struct ospf *top, struct prefix *p, ifindex_t ifindex) +int ospf_if_ipmulticast(struct ospf *top, struct prefix *p, ifindex_t ifindex)  { -  u_char val; -  int ret, len; - -  /* Prevent receiving self-origined multicast packets. */ -  ret = setsockopt_ipv4_multicast_loop (top->fd, 0); -  if (ret < 0) -    zlog_warn ("can't setsockopt IP_MULTICAST_LOOP(0) for fd %d: %s", -	       top->fd, safe_strerror(errno)); -   -  /* Explicitly set multicast ttl to 1 -- endo. */ -  val = 1; -  len = sizeof (val); -  ret = setsockopt (top->fd, IPPROTO_IP, IP_MULTICAST_TTL, (void *)&val, len); -  if (ret < 0) -    zlog_warn ("can't setsockopt IP_MULTICAST_TTL(1) for fd %d: %s", -	       top->fd, safe_strerror (errno)); - -  ret = setsockopt_ipv4_multicast_if (top->fd, p->u.prefix4, ifindex); -  if (ret < 0) -    zlog_warn("can't setsockopt IP_MULTICAST_IF(fd %d, addr %s, " -	      "ifindex %u): %s", -	      top->fd, inet_ntoa(p->u.prefix4), ifindex, safe_strerror(errno)); - -  return ret; +	u_char val; +	int ret, len; + +	/* Prevent receiving self-origined multicast packets. */ +	ret = setsockopt_ipv4_multicast_loop(top->fd, 0); +	if (ret < 0) +		zlog_warn("can't setsockopt IP_MULTICAST_LOOP(0) for fd %d: %s", +			  top->fd, safe_strerror(errno)); + +	/* Explicitly set multicast ttl to 1 -- endo. */ +	val = 1; +	len = sizeof(val); +	ret = setsockopt(top->fd, IPPROTO_IP, IP_MULTICAST_TTL, (void *)&val, +			 len); +	if (ret < 0) +		zlog_warn("can't setsockopt IP_MULTICAST_TTL(1) for fd %d: %s", +			  top->fd, safe_strerror(errno)); + +	ret = setsockopt_ipv4_multicast_if(top->fd, p->u.prefix4, ifindex); +	if (ret < 0) +		zlog_warn( +			"can't setsockopt IP_MULTICAST_IF(fd %d, addr %s, " +			"ifindex %u): %s", +			top->fd, inet_ntoa(p->u.prefix4), ifindex, +			safe_strerror(errno)); + +	return ret;  } -int -ospf_sock_init (void) +int ospf_sock_init(void)  { -  int ospf_sock; -  int ret, hincl = 1; -  int bufsize = (8 * 1024 * 1024); - -  if ( ospfd_privs.change (ZPRIVS_RAISE) ) -    zlog_err ("ospf_sock_init: could not raise privs, %s", -               safe_strerror (errno) ); -     -  ospf_sock = socket (AF_INET, SOCK_RAW, IPPROTO_OSPFIGP); -  if (ospf_sock < 0) -    { -      int save_errno = errno; -      if ( ospfd_privs.change (ZPRIVS_LOWER) ) -        zlog_err ("ospf_sock_init: could not lower privs, %s", -                   safe_strerror (errno) ); -      zlog_err ("ospf_read_sock_init: socket: %s", safe_strerror (save_errno)); -      exit(1); -    } -     +	int ospf_sock; +	int ret, hincl = 1; +	int bufsize = (8 * 1024 * 1024); + +	if (ospfd_privs.change(ZPRIVS_RAISE)) +		zlog_err("ospf_sock_init: could not raise privs, %s", +			 safe_strerror(errno)); + +	ospf_sock = socket(AF_INET, SOCK_RAW, IPPROTO_OSPFIGP); +	if (ospf_sock < 0) { +		int save_errno = errno; +		if (ospfd_privs.change(ZPRIVS_LOWER)) +			zlog_err("ospf_sock_init: could not lower privs, %s", +				 safe_strerror(errno)); +		zlog_err("ospf_read_sock_init: socket: %s", +			 safe_strerror(save_errno)); +		exit(1); +	} +  #ifdef IP_HDRINCL -  /* we will include IP header with packet */ -  ret = setsockopt (ospf_sock, IPPROTO_IP, IP_HDRINCL, &hincl, sizeof (hincl)); -  if (ret < 0) -    { -      int save_errno = errno; -      if ( ospfd_privs.change (ZPRIVS_LOWER) ) -        zlog_err ("ospf_sock_init: could not lower privs, %s", -                   safe_strerror (errno) ); -      zlog_warn ("Can't set IP_HDRINCL option for fd %d: %s", -      		 ospf_sock, safe_strerror(save_errno)); -    } -#elif defined (IPTOS_PREC_INTERNETCONTROL) +	/* we will include IP header with packet */ +	ret = setsockopt(ospf_sock, IPPROTO_IP, IP_HDRINCL, &hincl, +			 sizeof(hincl)); +	if (ret < 0) { +		int save_errno = errno; +		if (ospfd_privs.change(ZPRIVS_LOWER)) +			zlog_err("ospf_sock_init: could not lower privs, %s", +				 safe_strerror(errno)); +		zlog_warn("Can't set IP_HDRINCL option for fd %d: %s", +			  ospf_sock, safe_strerror(save_errno)); +	} +#elif defined(IPTOS_PREC_INTERNETCONTROL)  #warning "IP_HDRINCL not available on this system"  #warning "using IPTOS_PREC_INTERNETCONTROL" -  ret = setsockopt_ipv4_tos(ospf_sock, IPTOS_PREC_INTERNETCONTROL); -  if (ret < 0) -    { -      int save_errno = errno; -      if ( ospfd_privs.change (ZPRIVS_LOWER) ) -        zlog_err ("ospf_sock_init: could not lower privs, %s", -                   safe_strerror (errno) ); -      zlog_warn ("can't set sockopt IP_TOS %d to socket %d: %s", -      		 tos, ospf_sock, safe_strerror(save_errno)); -      close (ospf_sock);	/* Prevent sd leak. */ -      return ret; -    } +	ret = setsockopt_ipv4_tos(ospf_sock, IPTOS_PREC_INTERNETCONTROL); +	if (ret < 0) { +		int save_errno = errno; +		if (ospfd_privs.change(ZPRIVS_LOWER)) +			zlog_err("ospf_sock_init: could not lower privs, %s", +				 safe_strerror(errno)); +		zlog_warn("can't set sockopt IP_TOS %d to socket %d: %s", tos, +			  ospf_sock, safe_strerror(save_errno)); +		close(ospf_sock); /* Prevent sd leak. */ +		return ret; +	}  #else /* !IPTOS_PREC_INTERNETCONTROL */  #warning "IP_HDRINCL not available, nor is IPTOS_PREC_INTERNETCONTROL" -  zlog_warn ("IP_HDRINCL option not available"); +	zlog_warn("IP_HDRINCL option not available");  #endif /* IP_HDRINCL */ -  ret = setsockopt_ifindex (AF_INET, ospf_sock, 1); +	ret = setsockopt_ifindex(AF_INET, ospf_sock, 1); -  if (ret < 0) -     zlog_warn ("Can't set pktinfo option for fd %d", ospf_sock); +	if (ret < 0) +		zlog_warn("Can't set pktinfo option for fd %d", ospf_sock); -  if (ospfd_privs.change (ZPRIVS_LOWER)) -    { -      zlog_err ("ospf_sock_init: could not lower privs, %s", -               safe_strerror (errno) ); -    } +	if (ospfd_privs.change(ZPRIVS_LOWER)) { +		zlog_err("ospf_sock_init: could not lower privs, %s", +			 safe_strerror(errno)); +	} -  setsockopt_so_sendbuf (ospf_sock, bufsize); -  setsockopt_so_recvbuf (ospf_sock, bufsize); +	setsockopt_so_sendbuf(ospf_sock, bufsize); +	setsockopt_so_recvbuf(ospf_sock, bufsize); -  return ospf_sock; +	return ospf_sock;  }  | 
