/*
- * Copyright (c) 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
+ * Copyright (c) 2009, 2010, 2011, 2012, 2013, 2014 Nicira, Inc.
* Copyright (c) 2009 InMon Corp.
*
* Licensed under the Apache License, Version 2.0 (the "License");
}
SSET_FOR_EACH (target, targets) {
- struct sockaddr_in sin;
+ struct sockaddr_storage ss;
char name[IFNAMSIZ];
- if (inet_parse_active(target, SFL_DEFAULT_COLLECTOR_PORT, &sin)
- && route_table_get_name(sin.sin_addr.s_addr, name)
- && !netdev_get_in4_by_name(name, &in4)) {
- goto success;
+ if (inet_parse_active(target, SFL_DEFAULT_COLLECTOR_PORT, &ss)
+ && ss.ss_family == AF_INET) {
+ struct sockaddr_in *sin = (struct sockaddr_in *) &ss;
+ if (route_table_get_name(sin->sin_addr.s_addr, name)
+ && !netdev_get_in4_by_name(name, &in4)) {
+ goto success;
+ }
}
}
dpif_sflow_del_port__(ds, dsp);
}
hmap_destroy(&ds->ports);
- ovs_refcount_destroy(&ds->ref_cnt);
free(ds);
}
}
header->header_protocol = SFLHEADER_ETHERNET_ISO8023;
/* The frame_length should include the Ethernet FCS (4 bytes),
* but it has already been stripped, so we need to add 4 here. */
- header->frame_length = packet->size + 4;
+ header->frame_length = ofpbuf_size(packet) + 4;
/* Ethernet FCS stripped off. */
header->stripped = 4;
- header->header_length = MIN(packet->size,
+ header->header_length = MIN(ofpbuf_size(packet),
sampler->sFlowFsMaximumHeaderSize);
- header->header_bytes = packet->data;
+ header->header_bytes = ofpbuf_data(packet);
/* Add extended switch element. */
memset(&switchElem, 0, sizeof(switchElem));