[ovs-dev] From Openflow port number to hardware port number
Justin Pettit
jpettit at nicira.com
Wed Aug 24 06:31:27 UTC 2011
The confusion on our end is that what you call a hardware port number, we consider to be just the interface name (e.g., "eth0" on Linux). What platform is this? I haven't seen that naming convention.
If you want to script it, one option is to query the config database with the following:
"ovs-vsctl get interface eth0 ofport"
Obviously, you'd replace "eth0" with the name of your port.
Hope that helps.
--Justin
On Aug 23, 2011, at 11:21 PM, Bibrak Qamar wrote:
>
> / # ./openvswitch/utilities/ovs-ofctl show br0 --> gives the following result
>
> 1(p1): addr:00:00:00:00:00:01, config: 0, state:0x1
> current: 1GB-FD COPPER
> advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
> supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
> 2(p4): addr:00:00:00:00:00:04, config: 0, state:0x1
> current: 1GB-FD COPPER
> advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
> supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
> 3(p2): addr:00:00:00:00:00:02, config: 0, state:0x1
> current: 1GB-FD COPPER
> advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
> supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
> 4(p5): addr:00:00:00:00:00:05, config: 0, state:0x1
> current: 1GB-FD COPPER
> advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
> supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
> 5(p3): addr:00:00:00:00:00:03, config: 0, state:0x1
> current: 1GB-FD COPPER
> advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
> supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
> 6(p0): addr:00:00:00:00:00:00, config: 0, state:0x1
> current: 1GB-FD COPPER
> advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
> supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
> LOCAL(br0): addr:00:00:02:00:00:00, config: 0x1, state:0x1
> current: 1GB-FD COPPER
> advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
> supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-HD 1GB-FD
>
> OFPT_GET_CONFIG_REPLY (xid=0x3): frags=normal miss_send_len=0
> ---------------------
>
> Here p0,p1,p2 .. .. represent physical port numbers. OVS uses its own numbering which is in an incremental way starting from 1 to the number of ports activated.
>
> Here, OVS port number 1 points to physical port number 1, OVS port number 2 points to physical port number 4.
> So I would like to know whether there is any simple way to convert the ovs port number to the physical number.
> Some thing like:
> int phyPort = getPhyPortNum(IN OVSportNum);
>
>
>
> MORE INFO:
>
> Following chunk of code in function --> static void ofp_print_switch_features(struct ds *string,const struct ofp_switch_features *osf), in ofp-print.c prints the ports numbers.
>
> port_list = xmemdup(osf->ports, len - sizeof *osf);
> qsort(port_list, n_ports, sizeof *port_list, compare_ports);
> for (i = 0; i < n_ports; i++) {
> ofp_print_phy_port(string, &port_list[i]);
> }
>
> And in ofp_print_phy_port(struct ds *string, const struct ofp_phy_port *port) --> char name store the physical port number.
>
>
>
>
> Bibrak
>
>
> On Wed, Aug 24, 2011 at 10:14 AM, Ben Pfaff <blp at nicira.com> wrote:
> On Wed, Aug 24, 2011 at 10:10:01AM +0500, Bibrak Qamar wrote:
> > ovs-ofctl show br0 --- > Shows list of ports with their OVS port number and
> > Hardware port number. Is there any simple way (may be a function) to convert
> > ovs port number to its corresponding hardware port number and vise versa .
>
> Can you point out what part of the "ovs-ofctl show" output you regard as
> the hardware port number?
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
More information about the dev
mailing list