Message ID | 1259847168.3766.40.camel@bigi |
---|---|
State | Accepted, archived |
Delegated to: | stephen hemminger |
Headers | show |
On Thu, 03 Dec 2009 08:32:48 -0500 jamal <hadi@cyberus.ca> wrote: > I did this originally because i was getting too many support > questions on ipt with mark. It still makes sense since skbedit > seems to be the mother action of skb metadata (should probably > have been called skbmeta). > > cheers, > jamal applied to repository for next version (header changes for 2.6.33 already done)
On Thu, 03 Dec 2009 08:32:48 -0500 jamal <hadi@cyberus.ca> wrote: > I did this originally because i was getting too many support > questions on ipt with mark. It still makes sense since skbedit > seems to be the mother action of skb metadata (should probably > have been called skbmeta). > > cheers, > jamal Applied -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
You applied 2/2 but not 1/2. cheers, jamal On Wed, 2010-03-03 at 16:36 -0800, Stephen Hemminger wrote: > On Thu, 03 Dec 2009 08:32:48 -0500 > jamal <hadi@cyberus.ca> wrote: > > > I did this originally because i was getting too many support > > questions on ipt with mark. It still makes sense since skbedit > > seems to be the mother action of skb metadata (should probably > > have been called skbmeta). > > > > cheers, > > jamal > > > Applied > -- > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 03 Mar 2010 21:51:31 -0500 jamal <hadi@cyberus.ca> wrote: > You applied 2/2 but not 1/2. > > cheers, > jamal > On Wed, 2010-03-03 at 16:36 -0800, Stephen Hemminger wrote: > > On Thu, 03 Dec 2009 08:32:48 -0500 > > jamal <hadi@cyberus.ca> wrote: > > > > > I did this originally because i was getting too many support > > > questions on ipt with mark. It still makes sense since skbedit > > > seems to be the mother action of skb metadata (should probably > > > have been called skbmeta). > > > > > > cheers, > > > jamal > > The first was the help message text, and that was already there. Or was there some other bit. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 2010-03-04 at 08:48 -0800, Stephen Hemminger wrote: > On Wed, 03 Mar 2010 21:51:31 -0500 > jamal <hadi@cyberus.ca> wrote: > > > You applied 2/2 but not 1/2. > > > > > The first was the help message text, and that was already there. > Or was there some other bit. I can see that now. The git logs dont show how that change made it in - thats how i concluded it wasnt there. How did that sneak in there? cheers, jamal -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 04 Mar 2010 11:58:32 -0500 jamal <hadi@cyberus.ca> wrote: > On Thu, 2010-03-04 at 08:48 -0800, Stephen Hemminger wrote: > > On Wed, 03 Mar 2010 21:51:31 -0500 > > jamal <hadi@cyberus.ca> wrote: > > > > > You applied 2/2 but not 1/2. > > > > > > > > > The first was the help message text, and that was already there. > > Or was there some other bit. > > I can see that now. The git logs dont show how that change > made it in - thats how i concluded it wasnt there. How did that > sneak in there? I put the first bit in back in December. It was too early since kernel wasn't ready yet, but generally harmless commit e04dd30a38130a3d85065a747cc33274766a9cb6 Author: Jamal Hadi Salim <hadi@cyberus.ca> Date: Sat Dec 26 11:12:43 2009 -0800 skbedit: Add support to mark packets This adds support for setting the skb mark. Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 2010-03-04 at 09:43 -0800, Stephen Hemminger wrote: > I put the first bit in back in December. It was too early since > kernel wasn't ready yet, but generally harmless Ah, my bad. git whatchanged didnt show that. cheers, jamal -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/linux/tc_act/tc_skbedit.h b/include/linux/tc_act/tc_skbedit.h index a14e461..7a2e910 100644 --- a/include/linux/tc_act/tc_skbedit.h +++ b/include/linux/tc_act/tc_skbedit.h @@ -26,6 +26,7 @@ #define SKBEDIT_F_PRIORITY 0x1 #define SKBEDIT_F_QUEUE_MAPPING 0x2 +#define SKBEDIT_F_MARK 0x4 struct tc_skbedit { tc_gen; @@ -37,6 +38,7 @@ enum { TCA_SKBEDIT_PARMS, TCA_SKBEDIT_PRIORITY, TCA_SKBEDIT_QUEUE_MAPPING, + TCA_SKBEDIT_MARK, __TCA_SKBEDIT_MAX }; #define TCA_SKBEDIT_MAX (__TCA_SKBEDIT_MAX - 1) diff --git a/tc/m_skbedit.c b/tc/m_skbedit.c index ecb1f2d..623dc53 100644 --- a/tc/m_skbedit.c +++ b/tc/m_skbedit.c @@ -31,11 +31,13 @@ static void explain(void) { - fprintf(stderr, "Usage: ... skbedit <[QM] [PM]>\n" + fprintf(stderr, "Usage: ... skbedit <[QM] [PM] [MM]>\n" "QM = queue_mapping QUEUE_MAPPING\n" "PM = priority PRIORITY \n" + "MM = mark MARK \n" "QUEUE_MAPPING = device transmit queue to use\n" - "PRIORITY = classID to assign to priority field\n"); + "PRIORITY = classID to assign to priority field\n" + "MARK = firewall mark to set\n"); } static void @@ -55,7 +57,7 @@ parse_skbedit(struct action_util *a, int *argc_p, char ***argv_p, int tca_id, struct rtattr *tail; unsigned int tmp; __u16 queue_mapping; - __u32 flags = 0, priority; + __u32 flags = 0, priority, mark; struct tc_skbedit sel = { 0 }; if (matches(*argv, "skbedit") != 0) @@ -81,6 +83,14 @@ parse_skbedit(struct action_util *a, int *argc_p, char ***argv_p, int tca_id, return -1; } ok++; + } else if (matches(*argv, "mark") == 0) { + flags |= SKBEDIT_F_MARK; + NEXT_ARG(); + if (get_tc_classid(&mark, *argv)) { + fprintf(stderr, "Illegal mark\n"); + return -1; + } + ok++; } else if (matches(*argv, "help") == 0) { usage(); } else { @@ -138,6 +148,9 @@ parse_skbedit(struct action_util *a, int *argc_p, char ***argv_p, int tca_id, if (flags & SKBEDIT_F_PRIORITY) addattr_l(n, MAX_MSG, TCA_SKBEDIT_PRIORITY, &priority, sizeof(priority)); + if (flags & SKBEDIT_F_MARK) + addattr_l(n, MAX_MSG, TCA_SKBEDIT_MARK, + &mark, sizeof(mark)); tail->rta_len = (char *)NLMSG_TAIL(n) - (char *)tail; *argc_p = argc; @@ -151,6 +164,7 @@ static int print_skbedit(struct action_util *au, FILE *f, struct rtattr *arg) struct rtattr *tb[TCA_SKBEDIT_MAX + 1]; SPRINT_BUF(b1); __u32 *priority; + __u32 *mark; __u16 *queue_mapping; if (arg == NULL) @@ -175,6 +189,10 @@ static int print_skbedit(struct action_util *au, FILE *f, struct rtattr *arg) priority = RTA_DATA(tb[TCA_SKBEDIT_PRIORITY]); fprintf(f, " priority %s", sprint_tc_classid(*priority, b1)); } + if (tb[TCA_SKBEDIT_MARK] != NULL) { + mark = RTA_DATA(tb[TCA_SKBEDIT_MARK]); + fprintf(f, " mark %d", *mark); + } if (show_stats) { if (tb[TCA_SKBEDIT_TM]) {