~ubuntu-branches/ubuntu/wily/openvswitch/wily

« back to all changes in this revision

Viewing changes to lib/sflow_receiver.c

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2015-08-10 11:35:15 UTC
  • mfrom: (1.1.30)
  • Revision ID: package-import@ubuntu.com-20150810113515-575vj06oq29emxsn
Tags: 2.4.0~git20150810.97bab95-0ubuntu1
* New upstream snapshot from 2.4 branch:
  - d/*: Align any relevant packaging changes with upstream.
* d/*: wrap-and-sort.
* d/openvswitch-{common,vswitch}.install: Correct install location for
  bash completion files.
* d/tests/openflow.py: Explicitly use ovs-testcontroller as provided
  by 2.4.0 release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
464
464
        case SFLFLOW_EX_MPLS_FTN: elemSiz = mplsFtnEncodingLength(&elem->flowType.mpls_ftn); break;
465
465
        case SFLFLOW_EX_MPLS_LDP_FEC: elemSiz = mplsLdpFecEncodingLength(&elem->flowType.mpls_ldp_fec); break;
466
466
        case SFLFLOW_EX_VLAN_TUNNEL: elemSiz = vlanTunnelEncodingLength(&elem->flowType.vlan_tunnel); break;
 
467
        case SFLFLOW_EX_IPV4_TUNNEL_EGRESS:
 
468
        case SFLFLOW_EX_IPV4_TUNNEL_INGRESS:
 
469
            elemSiz = sizeof(SFLSampled_ipv4);
 
470
            break;
 
471
        case SFLFLOW_EX_VNI_EGRESS:
 
472
        case SFLFLOW_EX_VNI_INGRESS:
 
473
            elemSiz = sizeof(SFLExtended_vni);
 
474
            break;
467
475
        default:
468
476
            sflError(receiver, "unexpected packet_data_tag");
469
477
            return -1;
560
568
                putNet32(receiver, elem->flowType.ethernet.eth_type);
561
569
                break;
562
570
            case SFLFLOW_IPV4:
 
571
            case SFLFLOW_EX_IPV4_TUNNEL_EGRESS:
 
572
            case SFLFLOW_EX_IPV4_TUNNEL_INGRESS:
563
573
                putNet32(receiver, elem->flowType.ipv4.length);
564
574
                putNet32(receiver, elem->flowType.ipv4.protocol);
565
575
                put32(receiver, elem->flowType.ipv4.src_ip.addr);
591
601
            case SFLFLOW_EX_MPLS_FTN: putMplsFtn(receiver, &elem->flowType.mpls_ftn); break;
592
602
            case SFLFLOW_EX_MPLS_LDP_FEC: putMplsLdpFec(receiver, &elem->flowType.mpls_ldp_fec); break;
593
603
            case SFLFLOW_EX_VLAN_TUNNEL: putVlanTunnel(receiver, &elem->flowType.vlan_tunnel); break;
 
604
            case SFLFLOW_EX_VNI_EGRESS:
 
605
            case SFLFLOW_EX_VNI_INGRESS:
 
606
                putNet32(receiver, elem->flowType.tunnel_vni.vni);
 
607
                break;
 
608
 
594
609
            default:
595
610
                sflError(receiver, "unexpected packet_data_tag");
596
611
                return -1;
629
644
        cs->num_elements++;
630
645
        siz += 8; /* tag, length */
631
646
        switch(elem->tag) {
632
 
        case SFLCOUNTERS_GENERIC:  elemSiz = sizeof(elem->counterBlock.generic); break;
633
 
        case SFLCOUNTERS_ETHERNET: elemSiz = sizeof(elem->counterBlock.ethernet); break;
 
647
        case SFLCOUNTERS_GENERIC:  elemSiz = SFL_CTR_GENERIC_XDR_SIZE; break;
 
648
        case SFLCOUNTERS_ETHERNET: elemSiz = SFL_CTR_ETHERNET_XDR_SIZE; break;
634
649
        case SFLCOUNTERS_TOKENRING: elemSiz = sizeof(elem->counterBlock.tokenring); break;
635
650
        case SFLCOUNTERS_VG: elemSiz = sizeof(elem->counterBlock.vg); break;
636
651
        case SFLCOUNTERS_VLAN: elemSiz = sizeof(elem->counterBlock.vlan); break;
 
652
        case SFLCOUNTERS_LACP: elemSiz = SFL_CTR_LACP_XDR_SIZE; break;
 
653
        case SFLCOUNTERS_OPENFLOWPORT: elemSiz = SFL_CTR_OPENFLOWPORT_XDR_SIZE; break;
 
654
        case SFLCOUNTERS_PORTNAME: elemSiz = stringEncodingLength(&elem->counterBlock.portName.portName); break;
 
655
        case SFLCOUNTERS_APP_RESOURCES: elemSiz = SFL_CTR_APP_RESOURCES_XDR_SIZE; break;
 
656
        case SFLCOUNTERS_OVSDP: elemSiz = SFL_CTR_OVSDP_XDR_SIZE; break;
637
657
        default:
638
658
            sflError(receiver, "unexpected counters_tag");
639
659
            return -1;
735
755
                putNet32(receiver, elem->counterBlock.vlan.broadcastPkts);
736
756
                putNet32(receiver, elem->counterBlock.vlan.discards);
737
757
                break;
 
758
            case SFLCOUNTERS_LACP:
 
759
                putMACAddress(receiver, elem->counterBlock.lacp.actorSystemID);
 
760
                putMACAddress(receiver, elem->counterBlock.lacp.partnerSystemID);
 
761
                putNet32(receiver, elem->counterBlock.lacp.attachedAggID);
 
762
                put32(receiver, elem->counterBlock.lacp.portState.all);
 
763
                putNet32(receiver, elem->counterBlock.lacp.LACPDUsRx);
 
764
                putNet32(receiver, elem->counterBlock.lacp.markerPDUsRx);
 
765
                putNet32(receiver, elem->counterBlock.lacp.markerResponsePDUsRx);
 
766
                putNet32(receiver, elem->counterBlock.lacp.unknownRx);
 
767
                putNet32(receiver, elem->counterBlock.lacp.illegalRx);
 
768
                putNet32(receiver, elem->counterBlock.lacp.LACPDUsTx);
 
769
                putNet32(receiver, elem->counterBlock.lacp.markerPDUsTx);
 
770
                putNet32(receiver, elem->counterBlock.lacp.markerResponsePDUsTx);
 
771
                break;
 
772
            case SFLCOUNTERS_OPENFLOWPORT:
 
773
                putNet64(receiver, elem->counterBlock.ofPort.datapath_id);
 
774
                putNet32(receiver, elem->counterBlock.ofPort.port_no);
 
775
                break;
 
776
            case SFLCOUNTERS_PORTNAME:
 
777
                putString(receiver, &elem->counterBlock.portName.portName);
 
778
                break;
 
779
            case SFLCOUNTERS_APP_RESOURCES:
 
780
                putNet32(receiver, elem->counterBlock.appResources.user_time);
 
781
                putNet32(receiver, elem->counterBlock.appResources.system_time);
 
782
                putNet64(receiver, elem->counterBlock.appResources.mem_used);
 
783
                putNet64(receiver, elem->counterBlock.appResources.mem_max);
 
784
                putNet32(receiver, elem->counterBlock.appResources.fd_open);
 
785
                putNet32(receiver, elem->counterBlock.appResources.fd_max);
 
786
                putNet32(receiver, elem->counterBlock.appResources.conn_open);
 
787
                putNet32(receiver, elem->counterBlock.appResources.conn_max);
 
788
                break;
 
789
            case SFLCOUNTERS_OVSDP:
 
790
                putNet32(receiver, elem->counterBlock.ovsdp.n_hit);
 
791
                putNet32(receiver, elem->counterBlock.ovsdp.n_missed);
 
792
                putNet32(receiver, elem->counterBlock.ovsdp.n_lost);
 
793
                putNet32(receiver, elem->counterBlock.ovsdp.n_mask_hit);
 
794
                putNet32(receiver, elem->counterBlock.ovsdp.n_flows);
 
795
                putNet32(receiver, elem->counterBlock.ovsdp.n_masks);
 
796
                break;
738
797
            default:
739
798
                sflError(receiver, "unexpected counters_tag");
740
799
                return -1;