Skip to contentSkip to conversation

net: define accessors to get/set skb->dst and skb->rtable

PATCH In review Eric Dumazet 2 participants 2 messages Jun 2, 2009 – Jun 3, 2009

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover net: define accessors to get/set skb->dst and skb->rtable

David

Here are patches I originally cooked to review all places that could need skb->dst

I believe they could be applied in net-next-2.6 because we could then implement what we discussed in last december, about avoiding refcounting on dst_entries in input path (thread about IP_PKTINFO stuff, and a patch we had to revert)

You suggested to use the low order bit of skb->dst to tell if we got a refcount or not.

These four patches implement grounding for this idea (no functional changes yet)

Next step is adding the low order bit handling (or another bit if it happens to be too expensive to check this bit each time we want skb->dst, we still have to benchmark this)

First patchs adds _skb_dst opaque field in existing union

Second patch removes skb->rtable field and implements skb_rtable() method :

struct rtable *skb_rtable(const struct sk_buff *skb)

Third patch removes skb->dst field and implements several methods :

struct dst_entry *skb_dst(const struct sk_buff *skb) void skb_dst_set(struct sk_buff *skb, struct dst_entry *dst) void skb_dst_drop(struct sk_buff *skb) (skb_dst_drop() is not yet necessary but prepares next patches)

Fourth patch is a cleanup, avoiding the mono-field anonymous union.

Thank you

maintainer
#1 lore raw

From: Eric Dumazet <[email protected]>
Date: Tue, 02 Jun 2009 17:12:13 +0200

Quoted 7 lines

Here are patches I originally cooked to review all places that could need skb->dst

I believe they could be applied in net-next-2.6 because we could then implement what we discussed in last december, about avoiding refcounting on dst_entries in input path (thread about IP_PKTINFO stuff, and a patch we had to revert)

Quoted 8 lines

You suggested to use the low order bit of skb->dst to tell if we got a refcount or not.

These four patches implement grounding for this idea (no functional changes yet)

Next step is adding the low order bit handling (or another bit if it happens to be too expensive to check this bit each time we want skb->dst, we still have to benchmark this)

It all looks great, applied, thanks Eric!