Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
MTU: Software interface / Per-protocol MTU support
[vpp.git]
/
src
/
vnet
/
adj
/
rewrite.h
diff --git
a/src/vnet/adj/rewrite.h
b/src/vnet/adj/rewrite.h
index
005ac41
..
0d4b0b9
100644
(file)
--- a/
src/vnet/adj/rewrite.h
+++ b/
src/vnet/adj/rewrite.h
@@
-81,10
+81,6
@@
typedef CLIB_PACKED (struct {
*/
u8 dst_mcast_offset;
*/
u8 dst_mcast_offset;
- /* The mask to apply to the lower 4 bytes of the IP address before ORing
- * into the destinaiton MAC address */
- u32 dst_mcast_mask;
-
/* Rewrite string starting at end and going backwards. */
u8 data[0];
}) vnet_rewrite_header_t;
/* Rewrite string starting at end and going backwards. */
u8 data[0];
}) vnet_rewrite_header_t;
@@
-290,26
+286,19
@@
_vnet_rewrite_two_headers (vnet_rewrite_header_t * h0,
(most_likely_size))
always_inline void
(most_likely_size))
always_inline void
-
_vnet_fixup_one_header (vnet_rewrite_header_t * h0
,
-
u8 * addr, u32 addr_len
, u8 * packet0)
+
vnet_ip_mcast_fixup_header (u32 dst_mcast_mask
,
+
u32 dst_mcast_offset, u32 * addr
, u8 * packet0)
{
{
- if (PREDICT_TRUE (
h0->dst_mcast_mask
))
+ if (PREDICT_TRUE (
0 != dst_mcast_offset
))
{
/* location to write to in the packet */
{
/* location to write to in the packet */
- u8 *p0 = packet0 -
h0->
dst_mcast_offset;
+ u8 *p0 = packet0 - dst_mcast_offset;
u32 *p1 = (u32 *) p0;
u32 *p1 = (u32 *) p0;
- /* location to copy from in the L3 dest address */
- u32 *a0 = (u32 *) (addr + addr_len - sizeof (h0->dst_mcast_mask));
- *p1 |= (*a
0 & h0->
dst_mcast_mask);
+ *p1 |= (*a
ddr &
dst_mcast_mask);
}
}
}
}
-#define vnet_fixup_one_header(rw0,addr,p0) \
- _vnet_fixup_one_header (&((rw0).rewrite_header), \
- (u8*)(addr), sizeof((*addr)), \
- (u8*)(p0))
-
#define VNET_REWRITE_FOR_SW_INTERFACE_ADDRESS_BROADCAST ((void *) 0)
/** Deprecated */
void vnet_rewrite_for_sw_interface (struct vnet_main_t *vnm,
#define VNET_REWRITE_FOR_SW_INTERFACE_ADDRESS_BROADCAST ((void *) 0)
/** Deprecated */
void vnet_rewrite_for_sw_interface (struct vnet_main_t *vnm,
@@
-325,11
+314,12
@@
u32 vnet_tx_node_index_for_sw_interface (struct vnet_main_t *vnm,
void vnet_rewrite_init (struct vnet_main_t *vnm,
u32 sw_if_index,
void vnet_rewrite_init (struct vnet_main_t *vnm,
u32 sw_if_index,
+ vnet_link_t linkt,
u32 this_node,
u32 next_node, vnet_rewrite_header_t * rw);
void vnet_rewrite_update_mtu (struct vnet_main_t *vnm,
u32 this_node,
u32 next_node, vnet_rewrite_header_t * rw);
void vnet_rewrite_update_mtu (struct vnet_main_t *vnm,
- vnet_rewrite_header_t * rw);
+ vnet_
link_t linkt, vnet_
rewrite_header_t * rw);
u8 *vnet_build_rewrite_for_sw_interface (struct vnet_main_t *vnm,
u32 sw_if_index,
u8 *vnet_build_rewrite_for_sw_interface (struct vnet_main_t *vnm,
u32 sw_if_index,