ipv6.h (888dc273ea4e7ca332a6f73d10dfc8f2b212c803) | ipv6.h (b7034146756b9e91cc059b19df7fe4defd4d7de7) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0-or-later */ | |
2/* 3 * Linux INET6 implementation 4 * 5 * Authors: 6 * Pedro Roque <roque@di.fc.ul.pt> | 1/* 2 * Linux INET6 implementation 3 * 4 * Authors: 5 * Pedro Roque <roque@di.fc.ul.pt> |
6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 10 * 2 of the License, or (at your option) any later version. |
|
7 */ 8 9#ifndef _NET_IPV6_H 10#define _NET_IPV6_H 11 12#include <linux/ipv6.h> 13#include <linux/hardirq.h> 14#include <linux/jhash.h> --- 130 unchanged lines hidden (view full) --- 145 __u8 reserved; 146 __be16 frag_off; 147 __be32 identification; 148}; 149 150#define IP6_MF 0x0001 151#define IP6_OFFSET 0xFFF8 152 | 11 */ 12 13#ifndef _NET_IPV6_H 14#define _NET_IPV6_H 15 16#include <linux/ipv6.h> 17#include <linux/hardirq.h> 18#include <linux/jhash.h> --- 130 unchanged lines hidden (view full) --- 149 __u8 reserved; 150 __be16 frag_off; 151 __be32 identification; 152}; 153 154#define IP6_MF 0x0001 155#define IP6_OFFSET 0xFFF8 156 |
157struct ip6_fraglist_iter { 158 struct ipv6hdr *tmp_hdr; 159 struct sk_buff *frag; 160 int offset; 161 unsigned int hlen; 162 __be32 frag_id; 163 u8 nexthdr; 164}; 165 166int ip6_fraglist_init(struct sk_buff *skb, unsigned int hlen, u8 *prevhdr, 167 u8 nexthdr, __be32 frag_id, 168 struct ip6_fraglist_iter *iter); 169void ip6_fraglist_prepare(struct sk_buff *skb, struct ip6_fraglist_iter *iter); 170 171static inline struct sk_buff *ip6_fraglist_next(struct ip6_fraglist_iter *iter) 172{ 173 struct sk_buff *skb = iter->frag; 174 175 iter->frag = skb->next; 176 skb_mark_not_on_list(skb); 177 178 return skb; 179} 180 181struct ip6_frag_state { 182 u8 *prevhdr; 183 unsigned int hlen; 184 unsigned int mtu; 185 unsigned int left; 186 int offset; 187 int ptr; 188 int hroom; 189 int troom; 190 __be32 frag_id; 191 u8 nexthdr; 192}; 193 194void ip6_frag_init(struct sk_buff *skb, unsigned int hlen, unsigned int mtu, 195 unsigned short needed_tailroom, int hdr_room, u8 *prevhdr, 196 u8 nexthdr, __be32 frag_id, struct ip6_frag_state *state); 197struct sk_buff *ip6_frag_next(struct sk_buff *skb, 198 struct ip6_frag_state *state); 199 |
|
153#define IP6_REPLY_MARK(net, mark) \ 154 ((net)->ipv6.sysctl.fwmark_reflect ? (mark) : 0) 155 156#include <net/sock.h> 157 158/* sysctls */ 159extern int sysctl_mld_max_msf; 160extern int sysctl_mld_qrv; --- 942 unchanged lines hidden --- | 200#define IP6_REPLY_MARK(net, mark) \ 201 ((net)->ipv6.sysctl.fwmark_reflect ? (mark) : 0) 202 203#include <net/sock.h> 204 205/* sysctls */ 206extern int sysctl_mld_max_msf; 207extern int sysctl_mld_qrv; --- 942 unchanged lines hidden --- |