Page MenuHomeFreeBSD

D36855.id111316.diff
No OneTemporary

D36855.id111316.diff

diff --git a/sys/net/if_vxlan.c b/sys/net/if_vxlan.c
--- a/sys/net/if_vxlan.c
+++ b/sys/net/if_vxlan.c
@@ -2504,7 +2504,7 @@
struct ip *ip;
struct in_addr srcaddr, dstaddr;
uint16_t srcport, dstport;
- int len, mcast, error;
+ int plen, len, mcast, error;
struct route route, *ro;
struct sockaddr_in *sin;
uint32_t csum_flags;
@@ -2517,6 +2517,7 @@
dstaddr = fvxlsa->in4.sin_addr;
dstport = fvxlsa->in4.sin_port;
+ plen = m->m_pkthdr.len;
M_PREPEND(m, sizeof(struct ip) + sizeof(struct vxlanudphdr),
M_NOWAIT);
if (m == NULL) {
@@ -2594,7 +2595,7 @@
error = ip_output(m, NULL, ro, 0, sc->vxl_im4o, NULL);
if (error == 0) {
if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1);
- if_inc_counter(ifp, IFCOUNTER_OBYTES, len);
+ if_inc_counter(ifp, IFCOUNTER_OBYTES, plen);
if (mcast != 0)
if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1);
} else
@@ -2616,7 +2617,7 @@
struct ip6_hdr *ip6;
const struct in6_addr *srcaddr, *dstaddr;
uint16_t srcport, dstport;
- int len, mcast, error;
+ int plen, len, mcast, error;
struct route_in6 route, *ro;
struct sockaddr_in6 *sin6;
uint32_t csum_flags;
@@ -2629,6 +2630,7 @@
dstaddr = &fvxlsa->in6.sin6_addr;
dstport = fvxlsa->in6.sin6_port;
+ plen = m->m_pkthdr.len;
M_PREPEND(m, sizeof(struct ip6_hdr) + sizeof(struct vxlanudphdr),
M_NOWAIT);
if (m == NULL) {
@@ -2712,7 +2714,7 @@
error = ip6_output(m, NULL, ro, 0, sc->vxl_im6o, NULL, NULL);
if (error == 0) {
if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1);
- if_inc_counter(ifp, IFCOUNTER_OBYTES, len);
+ if_inc_counter(ifp, IFCOUNTER_OBYTES, plen);
if (mcast != 0)
if_inc_counter(ifp, IFCOUNTER_OMCASTS, 1);
} else

File Metadata

Mime Type
text/plain
Expires
Mon, Feb 2, 7:52 PM (22 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28417027
Default Alt Text
D36855.id111316.diff (1 KB)

Event Timeline