summaryrefslogtreecommitdiff
path: root/ospfd
diff options
context:
space:
mode:
authorpaul <paul>2004-10-05 14:38:29 +0000
committerpaul <paul>2004-10-05 14:38:29 +0000
commit18b12c387e2bcd8a0e81a8d2635c1ef52c8a9a7d (patch)
tree1fe5f83b587e2848ddb981c625faa5c27ed57662 /ospfd
parent96e27c9928b5078526f2a7564700dbdafe2c8d42 (diff)
2004-10-05 Paul Jakma <paul@dishone.st>
* ospf_packet.c: replace ospf_swap_iph_to... with sockopt_iphdrincl_swab_...
Diffstat (limited to 'ospfd')
-rw-r--r--ospfd/ChangeLog5
-rw-r--r--ospfd/ospf_dump.c10
-rw-r--r--ospfd/ospf_packet.c45
3 files changed, 14 insertions, 46 deletions
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 2043ad61..27d72d6b 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-05 Paul Jakma <paul@dishone.st>
+
+ * ospf_packet.c: replace ospf_swap_iph_to... with
+ sockopt_iphdrincl_swab_...
+
2004-10-03 James R. Leu <jleu at mindspring.com>
* ospf_zebra.c: Read router id related messages from zebra daemon.
diff --git a/ospfd/ospf_dump.c b/ospfd/ospf_dump.c
index 248cfbbc..25cb525d 100644
--- a/ospfd/ospf_dump.c
+++ b/ospfd/ospf_dump.c
@@ -607,14 +607,8 @@ ospf_ip_header_dump (struct stream *s)
iph = (struct ip *) STREAM_PNT (s);
-#ifdef HAVE_IP_HDRINCL_BSD_ORDER
- length = iph->ip_len;
- offset = iph->ip_off;
-#else /* !HAVE_IP_HDRINCL_BSD_ORDER */
- length = ntohs (iph->ip_len);
- offset = ntohs (iph->ip_off);
-#endif /* HAVE_IP_HDRINCL_BSD_ORDER */
-
+ sockopt_iphdrincl_swab_systoh (iph);
+
/* IP Header dump. */
zlog_info ("ip_v %d", iph->ip_v);
zlog_info ("ip_hl %d", iph->ip_hl);
diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c
index eaf8b769..f1cb91d7 100644
--- a/ospfd/ospf_packet.c
+++ b/ospfd/ospf_packet.c
@@ -482,33 +482,6 @@ ospf_ls_ack_timer (struct thread *thread)
return 0;
}
-/* swab ip header fields to required order for sendmsg */
-void
-ospf_swab_iph_ton (struct ip *iph)
-{
- /* BSD and derived take iph in network order, except for
- * ip_len and ip_off
- */
-#ifndef HAVE_IP_HDRINCL_BSD_ORDER
- iph->ip_len = htons(iph->ip_len);
- iph->ip_off = htons(iph->ip_off);
-#endif /* HAVE_IP_HDRINCL_BSD_ORDER */
-
- iph->ip_id = htons(iph->ip_id);
-}
-
-/* swab ip header fields to host order, as required */
-void
-ospf_swab_iph_toh (struct ip *iph)
-{
-#ifdef HAVE_IP_HDRINCL_BSD_ORDER
- iph->ip_len = ntohs(iph->ip_len);
- iph->ip_off = ntohs(iph->ip_off);
-#endif /* HAVE_IP_HDRINCL_BSD_ORDER */
-
- iph->ip_id = ntohs(iph->ip_id);
-}
-
#ifdef WANT_OSPF_WRITE_FRAGMENT
void
ospf_write_frags (int fd, struct ospf_packet *op, struct ip *iph,
@@ -549,11 +522,11 @@ ospf_write_frags (int fd, struct ospf_packet *op, struct ip *iph,
iph->ip_len = iov[1]->iov_len + sizeof (struct ip);
assert (iph->ip_len <= mtu);
- ospf_swab_iph_ton (iph);
+ sockopt_iphdrincl_swab_htosys (iph);
ret = sendmsg (fd, msg, flags);
- ospf_swab_iph_toh (iph);
+ sockopt_iphdrincl_swab_systoh (iph);
if (ret < 0)
zlog_warn ("*** sendmsg in ospf_write to %s,"
@@ -692,9 +665,9 @@ ospf_write (struct thread *thread)
#endif /* WANT_OSPF_WRITE_FRAGMENT */
/* send final fragment (could be first) */
- ospf_swab_iph_ton (&iph);
+ sockopt_iphdrincl_swab_htosys (&iph);
ret = sendmsg (ospf->fd, &msg, flags);
- ospf_swab_iph_toh (&iph);
+ sockopt_iphdrincl_swab_htosys (&iph);
if (ret < 0)
zlog_warn ("*** sendmsg in ospf_write to %s failed with %s",
@@ -2040,13 +2013,9 @@ ospf_recv_packet (int fd, struct interface **ifp)
zlog_warn ("ospf_recv_packet packet smaller than ip header");
return NULL;
}
-
-#ifdef HAVE_IP_HDRINCL_BSD_ORDER
- ip_len = iph.ip_len;
-#else
- ip_len = ntohs (iph.ip_len);
-#endif
-
+
+ sockopt_iphdrincl_swab_systoh (&iph);
+
#if !defined(GNU_LINUX) && (OpenBSD < 200311)
/*
* Kernel network code touches incoming IP header parameters,