X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=datapath%2Fflow.c;fp=datapath%2Fflow.c;h=b2de023408a5496e979dfe89e86feb696e697d33;hb=dac3c52f893f7df16f935ef4875c5467abd4ea23;hp=ae60617dd27e08a167e6735420a603e580af51c9;hpb=c07686a4b073aa2092a0653a3fa92bb78688e090;p=sliver-openvswitch.git diff --git a/datapath/flow.c b/datapath/flow.c index ae60617dd..b2de02340 100644 --- a/datapath/flow.c +++ b/datapath/flow.c @@ -293,22 +293,22 @@ int flow_extract(struct sk_buff *skb, u16 in_port, struct odp_flow_key *key) arp = (struct arp_eth_header *)skb_network_header(skb); - if (arp->ar_hrd == htons(1) - && arp->ar_pro == htons(ETH_P_IP) - && arp->ar_hln == ETH_ALEN - && arp->ar_pln == 4) { - - /* We only match on the lower 8 bits of the opcode. */ - if (ntohs(arp->ar_op) <= 0xff) { - key->nw_proto = ntohs(arp->ar_op); - } - - if (key->nw_proto == ARPOP_REQUEST - || key->nw_proto == ARPOP_REPLY) { - memcpy(&key->nw_src, arp->ar_sip, sizeof(key->nw_src)); - memcpy(&key->nw_dst, arp->ar_tip, sizeof(key->nw_dst)); - } - } + if (arp->ar_hrd == htons(1) + && arp->ar_pro == htons(ETH_P_IP) + && arp->ar_hln == ETH_ALEN + && arp->ar_pln == 4) { + + /* We only match on the lower 8 bits of the opcode. */ + if (ntohs(arp->ar_op) <= 0xff) { + key->nw_proto = ntohs(arp->ar_op); + } + + if (key->nw_proto == ARPOP_REQUEST + || key->nw_proto == ARPOP_REPLY) { + memcpy(&key->nw_src, arp->ar_sip, sizeof(key->nw_src)); + memcpy(&key->nw_dst, arp->ar_tip, sizeof(key->nw_dst)); + } + } } else { skb_reset_transport_header(skb); } @@ -332,16 +332,3 @@ void flow_exit(void) { kmem_cache_destroy(flow_cache); } - -void print_flow(const struct odp_flow_key *key) -{ -#define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x" -#define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5] - printk("port%04x:vlan%d mac"MAC_FMT"->"MAC_FMT" " - "type%04x proto%d ip%x->%x port%d->%d\n", - key->in_port, ntohs(key->dl_vlan), - MAC_ARG(key->dl_src), MAC_ARG(key->dl_dst), - ntohs(key->dl_type), key->nw_proto, - key->nw_src, key->nw_dst, - ntohs(key->tp_src), ntohs(key->tp_dst)); -}